Scrolling bug in Firefox 3.67 still exists in Beta 4.0b7 - will it ever be fixed?

https://bugzilla.mozilla.org/show_bug.cgi?id=581240
I use Firefox to work online with a wiki called Confluence. When previewing a page in any version after 3.66, you cannot scroll properly to see the whole page.
I would have provided this as feedback, but the feedback button keeps telling me to download the latest Beta and this is it.

The test case in comment 1 of that bug report shows the Pass alert for me with the current Minefield nightly build. It also works in Firefox 3.5.16 , but not in Firefox 3.6.13
<pre><nowiki>data:text/html;charset=utf-8,
<script>
function onload() {
document.getElementById("preview").style.display = "";
document.getElementById("preview").innerHTML = ('<iframe src="data:text/html," scrolling="no"></iframe>');
var iframe = document.getElementById("preview").firstChild;
var doc = iframe.contentDocument;
doc.write("<script src='data:text/javascript,'></"+"script>"+"<script>function onload() {alert('PASS')}</" + "script>");
doc.close();
</script>
<body>
You should see an alert saying "PASS". Firefox 3.6.7, however, doesn't show the alert.
<div id="preview" style="display:none">
</div>
</body></nowiki></pre>

Similar Messages

  • 3.1EA2 Old bug with German language settings still exists

    In the past I wrote several times about a bug in SQL Developer when running in German language mode. This bug is still not fixed in 3.1 EA2:
    In new folders for user definded reports only the options "Kopieren" and "Speichern unter ..." ('Copy' and 'Cave as') are available, when SQL-Deverloper runs in German language mode. Other options like "Bearbeiten, Neuer Ordner, Neuer Bericht, Ausschneiden, Einfügen, Löschen" (Edit, New Folder, New Report, Cut, Paste, Delete) are missing. A workaround is to force language to English with the line
    AddVMOption -Duser.language=en
    in sqldeveloper.conf
    I mentioned it first in Re: Folders with limited functionality about version 2.1.1.64 and then in 30EA2: Limited folder functionality with German language 3.0 EA2 and German language bug with user defined reports still not fixed Beta Release 3.0 EA3
    Edited by: user1775992 on 22.11.2011 03:30

    I have raised a bug on this issue and I am actively looking into it.

  • I have the latest plugins and firefox but it still says 'adobe flash plugin has crashed' How do i fix this?

    Every time I go on YouTube, it comes up with: 'adobe flash plugin has crashed'. I have tried refreshing and restarting my laptop, I have also got all the latest flash and Firefox, but it still won't work.

    I'd start with disabling Hardware Acceleration, as described in the video troubleshooting guide below:
    Video playback issues
    If that solves the problem, make sure that your graphics drivers are current. 
    If it *still* happens with current drivers, please give us detailed information on the graphics card and driver, so that we can disable hardware acceleration on this configuration and start a conversation with the appropriate vendor.
    The best way to get this information is to do the following (on Windows):
    Open a command prompt
    Type: dxdiag
    Hit Enter
    This should launch the DirectX Diagnostic Tool
    Click Save All Information (or whatever that save button says).
    Paste the contents into a reply here, or you can click Use Advanced Editor in the upper right of the reply window, and then attach the file using the link at the bottom right of the reply window.

  • 30EA3: German language bug with user defined reports still not fixed

    In 30EA2: Limited folder functionality with German language
    I wrote about a bug in 30EA2. Was this message noticed by the developers?
    The bug still exists in 30EA3.
    In new folders for user definded reports only the options "Kopieren" and "Exportieren" (copy and export) are available, when SQL-Deverloper runs in German language mode.
    A workaround is to force language to English with the line
    AddVMOption -Duser.language=en
    in sqldeveloper.conf

    I made a new thread for the same bug in 3.1EA2:
    3.1EA2 Old bug with German language settings still exists
    I have some hope, that my problem finally got noticed by the developers.

  • How can I get the vertical scroll bar in firefox for mac to operate more smoothly?

    This scroll bar issue has been a real pain for awhile, though it seemed to be better for a period of time and now has grown much worse again. I'm using Firefox 22.0. I try to grasp the blue scroll bar (right side placement) to move it up or down for pages that require scrolling to view, and it is very hard to hold and move the bar, plus it often bogs down as the colored wheel shows up as if the software is trying to process the action. It's very frustrating. I'm set to "smooth scrolling" in the Firefox settings, but that doesn't help. Is there a way to fix this and make the scroll bar move quickly and smoothly in Firefox for Mac?

    Hello,
    Try disabling graphics hardware acceleration. Since this feature was added to Firefox, it has gradually improved, but there still are a few glitches.
    You might need to restart Firefox in order for this to take effect, so save all work first (e.g., mail you are composing, online documents you're editing, etc.).
    Then perform these steps:
    *Click the orange Firefox button at the top left, then select the "Options" button, or, if there is no Firefox button at the top, go to Tools > Options.
    *In the Firefox options window click the ''Advanced'' tab, then select "General".
    *In the settings list, you should find the ''Use hardware acceleration when available'' checkbox. Uncheck this checkbox.
    *Now, restart Firefox and see if the problems persist.
    Additionally, please check for updates for your graphics driver by following the steps mentioned in the following Knowledge base articles:
    * [[Troubleshoot extensions, themes and hardware acceleration issues to solve common Firefox problems]]
    * [[Upgrade your graphics drivers to use hardware acceleration and WebGL]]
    Did this fix your problems? Please report back to us!
    Thank you.

  • Index with "or" clause (BUG still exists?)

    The change log for 2.3.10 mentions "Fixed a bug that caused incorrect query plans to be generated for predicates that used the "or" operator in conjunction with indexes [#15328]."
    But looks like the Bug still exists.
    I am listing the steps to-repro. Let me know if i have missed something (or if the bug needs to be fixed)
    DATA
    dbxml> openContainer test.dbxml
    dbxml> getDocuments
    2 documents found
    dbxml> print
    <node><value>a</value></node>
    <node><value>b</value></node>
    INDEX (just one string equality index on node "value")
    dbxml> listIndexes
    Index: unique-node-metadata-equality-string for node {http://www.sleepycat.com/2002/dbxml}:name
    Index: node-element-equality-string for node {}:value
    2 indexes found.
    QUERY
    setVerbose 2 2
    preload test.dbxml
    query 'let $temp := fn:compare("test", "test") = 0
    let $results := for $i in collection("test.dbxml")
    where ($temp or $i/node[value = ("a")])
    return $i
    return <out>{$temp}{$results}</out>'
    When $temp is true i expected the result set to contain both the records, but that was not the case with the index. It works well when there is no index!
    Result WITH INDEX
    dbxml> print
    <out>true<node><value>a</value></node></out>
    Result WITHOUT INDEX
    dbxml> print
    <out>true<node><value>a</value></node><node><value>b</value></node></out>

    Hi Vijay,
    This is a completely different bug, relating to predicate expressions that do not examine nodes. Please try the following patch, to see if it fixes this bug for you:
    --- dbxml-2.3.10-original/dbxml/src/dbxml/optimizer/QueryPlanGenerator.cpp     2007-04-18 10:05:24.000000000 +0100
    +++ dbxml-2.3.10/dbxml/src/dbxml/optimizer/QueryPlanGenerator.cpp     2007-08-08 11:32:10.000000000 +0100
    @@ -1566,11 +1572,12 @@
         else if(name == Or::name) {
              UnionQP *unionOp = new (&memMgr_) UnionQP(&memMgr_);
    +          result.operation = unionOp;
              for(VectorOfASTNodes::iterator i = args.begin(); i != args.end(); ++i) {
                   PathResult ret = generate(*i, ids);
                   unionOp->addArg(ret.operation);
    +               if(ret.operation == 0) result.operation = 0;
    -          result.operation = unionOp;
         // These operators use the presence of the node arguments, not their valueJohn

  • The Bug about 'DB_SECONDARY_BAD' still exists in BerkeleyDB4.8!

    The Bug about 'DB_SECONDARY_BAD' still exists in BerkeleyDB4.8?
    I'm sorry for my poor English, But I just cannot find anywhere else for help.
    Thanks for your patience first!
    I'm using BDB4.8 C++ API on Ubuntu 10.04, Linux Kernel 2.6.32-24-generic
    $uname -a
    $Linux wonpc 2.6.32-24-generic #43-Ubuntu SMP Thu Sep 16 14:17:33 UTC 2010 i686 GNU/Linux
    When I update(overwrite) a record in database, I may get a DB_SECONDARY_BAD exception,
    What's worse, This case doesn't always occures, it's random. So I think it probably a bug
    of BDB, I have seen many issues about DB_SECONDARY_BAD with BDB4.5,4.6...
    To reproduce the issue, I make a simplified test program from my real program.
    The data to be stroed into database is a class called 'EntryData', It's defined in db_access.h,
    where also defines some HighLevel API functions that hide the BDB calls, such as
    store_entry_data(), which use EntryData as its argument. The EntryData have a string-type
    member-data 'name' and a vector<string>-type mem-data 'labels', So store_entry_data() will
    put the real data of EntryData to a contiguous memory block. The get_entry_data() returns
    an EntryData builed up from the contiguous memory block fetched from database.
    The comlete test program is post following this line:
    /////////db_access.h////////////
    #ifndef __DB_ACCESS_H__
    #define __DB_ACCESS_H__
    #include <string>
    #include <vector>
    #include <db_cxx.h>
    class EntryData;
    //extern Path DataDir; // default value, can be changed
    extern int database_setup();
    extern int database_close();
    extern int store_entry_data(const EntryData&, u_int32_t = DB_NOOVERWRITE);
    extern int get_entry_data(const std::string&, EntryData*, u_int32_t = 0);
    extern int rm_entry_data(const std::string&);
    class DBSetup
    // 构造时调用database_setup, 超出作用域自动调用database_close .
    // 该类没有数据成员.
    public:
    DBSetup() {
    database_setup();
    ~DBSetup() {
    database_close();
    class EntryData
    public:
    typedef std::vector<std::string> LabelContainerType;
    EntryData() {}
    EntryData(const std::string& s) : name(s) {}
    EntryData(const std::string& s, LabelContainerType& v)
    : name(s), labels(v) {}
    EntryData(const std::string&, const char*[]);
    class DataBlock;
    // 直接从内存块中构建, mem指针将会从数据库中获取,
    // 它就是EntryData转化成的DataBlock中buf_ptr->buf的内容.
    EntryData(const void* mem_blk, const int len);
    ~EntryData() {};
    const std::string& get_name () const { return name; }
    const LabelContainerType& get_labels() const { return labels; }
    void set_name (const std::string& s) { name = s; }
    void add_label(const std::string&);
    void rem_label(const std::string&);
    void show() const;
    // get contiguous memory for all:
    DataBlock get_block() const { return DataBlock(*this); }
    class DataBlock
    // contiguous memory for all.
    public:
    DataBlock(const EntryData& data);
    // 引进一块内存作为 buf_ptr->buf 的内容.
    // 例如从数据库中获取结果
    DataBlock(void* mem, int len);
    // 复制构造函数:
    DataBlock(const DataBlock& orig) :
    data_size(orig.data_size),
    capacity(orig.capacity),
    buf_ptr(orig.buf_ptr) { ++buf_ptr->use; }
    // 赋值操作符:
    DataBlock& operator=(const DataBlock& oth)
    data_size = oth.data_size;
    capacity = oth.capacity;
    if(--buf_ptr->use == 0)
    delete buf_ptr;
    buf_ptr = oth.buf_ptr;
    return *this;
    ~DataBlock() {
    if(--buf_ptr->use == 0) { delete buf_ptr; }
    // data()函数因 Dbt 构造函数不支持const char*而被迫返回 char*
    // data() 返回的指针是应该被修改的.
    const char* data() const { return buf_ptr->buf; }
    int size() const { return data_size; }
    private:
    void pack_str(const std::string& s);
    static const int init_capacity = 100;
    int data_size; // 记录数据块的长度.
    int capacity; // 已经分配到 buf 的内存大小.
    class SmartPtr; // 前向声明.
    SmartPtr* buf_ptr;
    class SmartPtr
    friend class DataBlock;
    char* buf;
    int use;
    SmartPtr(char* p) : buf(p), use(1) {}
    ~SmartPtr() { delete [] buf; }
    private:
    std::string name; // entry name
    LabelContainerType labels; // entry labels list
    }; // class EntryData
    #endif
    //////db_access.cc/////////////
    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    #include <vector>
    #include <algorithm>
    #include "directory.h"
    #include "db_access.h"
    using namespace std;
    static Path DataDir("~/mydict_data"); // default value, can be changed
    const Path& get_datadir() { return DataDir; }
    static DbEnv myEnv(0);
    static Db db_bynam(&myEnv, 0); // using name as key
    static Db db_bylab(&myEnv, 0); // using label as key
    static int generate_keys_for_db_bylab
    (Db* sdbp, const Dbt* pkey, const Dbt* pdata, Dbt* skey)
    EntryData entry_data(pdata->get_data(), pdata->get_size());
    int lab_num = entry_data.get_labels().size();
    Dbt* tmpdbt = (Dbt*) malloc( sizeof(Dbt) * lab_num );
    memset(tmpdbt, 0, sizeof(Dbt) * lab_num);
    EntryData::LabelContainerType::const_iterator
    lab_it = entry_data.get_labels().begin(), lab_end = entry_data.get_labels().end();
    for(int i = 0; lab_it != lab_end; ++lab_it, ++i) {
    tmpdbt[ i ].set_data( (void*)lab_it->c_str() );
    tmpdbt[ i ].set_size( lab_it->size() );
    skey->set_flags(DB_DBT_MULTIPLE | DB_DBT_APPMALLOC);
    skey->set_data(tmpdbt);
    skey->set_size(lab_num);
    return 0;
    //@Return Value: return non-zero at error
    extern int database_setup()
    const string DBEnvHome (DataDir + "DBEnv");
    const string dbfile_bynam("dbfile_bynam");
    const string dbfile_bylab("dbfile_bylab");
    db_bylab.set_flags(DB_DUPSORT);
    const u_int32_t env_flags = DB_CREATE | DB_INIT_MPOOL;
    const u_int32_t db_flags = DB_CREATE;
    rmkdir(DBEnvHome);
    try
    myEnv.open(DBEnvHome.c_str(), env_flags, 0);
    db_bynam.open(NULL, dbfile_bynam.c_str(), NULL, DB_BTREE, db_flags, 0);
    db_bylab.open(NULL, dbfile_bylab.c_str(), NULL, DB_BTREE, db_flags, 0);
    db_bynam.associate(NULL, &db_bylab, generate_keys_for_db_bylab, 0);
    } catch(DbException &e) {
    cerr << "Err when open DBEnv or Db: " << e.what() << endl;
    return -1;
    } catch(std::exception& e) {
    cerr << "Err when open DBEnv or Db: " << e.what() << endl;
    return -1;
    return 0;
    int database_close()
    try {
    db_bylab.close(0);
    db_bynam.close(0);
    myEnv.close(0);
    } catch(DbException &e) {
    cerr << e.what();
    return -1;
    } catch(std::exception &e) {
    cerr << e.what();
    return -1;
    return 0;
    // 返回Dbt::put()的返回值
    int store_entry_data(const EntryData& e, u_int32_t flags)
    int res = 0;
    try {
    EntryData::DataBlock blk(e);
    // data()返回的buf中存放的第一个字符串便是 e.get_name().
    Dbt key ( (void*)blk.data(), strlen(blk.data()) + 1 );
    Dbt data( (void*)blk.data(), blk.size() );
    res = db_bynam.put(NULL, &key, &data, flags);
    } catch (DbException& e) {
    cerr << e.what() << endl;
    throw; // 重新抛出.
    return res;
    // 返回 Db::get()的返回值, 调用成功时 EntryData* e的值才有意义
    int get_entry_data
    (const std::string& entry_name, EntryData* e, u_int32_t flags)
    Dbt key( (void*)entry_name.c_str(), entry_name.size() + 1 );
    Dbt data;
    data.set_flags(DB_DBT_MALLOC);
    int res = db_bynam.get(NULL, &key, &data, flags);
    if(res == 0)
    new (e) EntryData( data.get_data(), data.get_size() );
    free( data.get_data() );
    return res;
    int rm_entry_data(const std::string& name)
    Dbt key( (void*)name.c_str(), name.size() + 1 );
    cout << "to remove: \'" << name << "\'" << endl;
    int res = db_bynam.del(NULL, &key, 0);
    return res;
    EntryData::EntryData(const std::string& s, const char* labels_arr[]) : name(s)
    {   // labels_arr 需要以 NULL 结尾.
    for(const char** i = labels_arr; *i != NULL; i++)
    labels.push_back(*i);
    EntryData::EntryData(const void* mem_blk, const int len)
    const char* buf = (const char*)mem_blk;
    int consumed = 0; // 已经消耗的mem_blk的大小.
    name = buf; // 第一串为 name
    consumed += name.size() + 1;
    for (string label = buf + consumed;
    consumed < len;
    consumed += label.size() + 1)
    label = buf + consumed;
    labels.push_back(label);
    void EntryData::add_label(const string& new_label)
    if(find(labels.begin(), labels.end(), new_label)
    == labels.end())
    labels.push_back(new_label);
    void EntryData::rem_label(const string& to_rem)
    LabelContainerType::iterator iter = find(labels.begin(), labels.end(), to_rem);
    if(iter != labels.end())
    labels.erase(iter);
    void EntryData::show() const {
    cout << "name: " << name << "; labels: ";
    LabelContainerType::const_iterator it, end = labels.end();
    for(it = labels.begin(); it != end; ++it)
    cout << *it << " ";
    cout << endl;
    EntryData::DataBlock::DataBlock(const EntryData& data) :
    data_size(0),
    capacity(init_capacity),
    buf_ptr(new SmartPtr(new char[init_capacity]))
    pack_str(data.name);
    for(EntryData::LabelContainerType::const_iterator \
    i = data.labels.begin();
    i != data.labels.end();
    ++i) { pack_str(*i); }
    void EntryData::DataBlock::pack_str(const std::string& s)
    int string_size = s.size() + 1; // to put sting in buf separately.
    if(capacity >= data_size + string_size) {
    memcpy(buf_ptr->buf + data_size, s.c_str(), string_size);
    else {
    capacity = (data_size + string_size)*2; // 分配尽可能大的空间.
    buf_ptr->buf = (char*)realloc(buf_ptr->buf, capacity);
    memcpy(buf_ptr->buf + data_size, s.c_str(), string_size);
    data_size += string_size;
    //////////// test_put.cc ///////////
    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include "db_access.h"
    using namespace std;
    int main(int argc, char** argv)
    if(argc < 2) { exit(EXIT_FAILURE); }
    DBSetup setupup_mydb;
    int res = 0;
    EntryData ed(argv[1], (const char**)argv + 2);
    res = store_entry_data(ed);
    if(res != 0) {
         cerr << db_strerror(res) << endl;
         return res;
    return 0;
    // To Compile:
    // $ g++ -ldb_cxx -lboost_regex -o test_put test_put.cc db_access.cc directory.cc
    //////////// test_update.cc ///////////
    #include <iostream>
    #include <cstdlib>
    #include <string>
    #include <boost/program_options.hpp>
    #include "db_access.h"
    using namespace std;
    namespace po = boost::program_options;
    int main(int argc, char** argv)
    if(argc < 2) { exit(EXIT_SUCCESS); }
    DBSetup setupup_mydb;
    int res = 0;
    po::options_description cmdopts("Allowed options");
    po::positional_options_description pos_opts;
    cmdopts.add_options()
    ("entry", "Specify the entry that will be edited")
    ("addlabel,a", po::value< vector<string> >(),
    "add a label for specified entry")
    ("removelabel,r", po::value< vector<string> >(),
    "remove the label of specified entry")
    pos_opts.add("entry", 1);
    po::variables_map vm;
    store( po::command_line_parser(argc, argv).
    options(cmdopts).positional(pos_opts).run(), vm );
    notify(vm);
    EntryData entry_data;
    if(vm.count("entry")) {
    const string& entry_to_edit = vm["entry"].as<string>();
    res = get_entry_data( entry_to_edit, &entry_data );
    switch (res)
    case 0:
    break;
    case DB_NOTFOUND:
    cerr << "No entry named: \'"
    << entry_to_edit << "\'\n";
    return res;
    break;
    default:
    cerr << db_strerror(res) << endl;
    return res;
    } else {
    cerr << "No entry specified\n";
    exit(EXIT_FAILURE);
    EntryData new_entry_data(entry_data);
    typedef vector<string>::const_iterator VS_CI;
    if(vm.count("addlabel")) {
    const vector<string>& to_adds = vm["addlabel"].as< vector<string> >();
    VS_CI end = to_adds.end();
    for(VS_CI i = to_adds.begin(); i != end; ++i) {
    new_entry_data.add_label(*i);
    if(vm.count("removelabel")) {
    const vector<string>& to_rems = vm["removelabel"].as< vector<string> >();
    VS_CI end = to_rems.end();
    for(VS_CI i = to_rems.begin(); i != end; ++i) {
    new_entry_data.rem_label(*i);
    cout << "Old data| ";
    entry_data.show();
    cout << "New data| ";
    new_entry_data.show();
    res = store_entry_data(new_entry_data, 0); // set flags to zero permitting Over Write
    if(res != 0) {
    cerr << db_strerror(res) << endl;
    return res;
    return 0;
    // To Compile:
    // $ g++ -ldb_cxx -lboost_regex -lboost_program_options -o test_update test_update.cc db_access.cc directory.cc

    ////////directory.h//////
    #ifndef __DIRECTORY_H__
    #define __DIRECTORY_H__
    #include <string>
    #include <string>
    #include <sys/types.h>
    using std::string;
    class Path
    public:
    Path() {}
    Path(const std::string&);
    Path(const char* raw) { new (this) Path(string(raw)); }
    Path upper() const;
    void operator+= (const std::string&);
    // convert to string (char*):
    //operator std::string() const {return spath;}
    operator const char*() const {return spath.c_str();}
    const std::string& str() const {return spath;}
    private:
    std::string spath; // the real path
    inline Path operator+(const Path& L, const string& R)
    Path p(L);
    p += R;
    return p;
    int rmkdir(const string& path, const mode_t mode = 0744, const int depth = -1);
    #endif
    ///////directory.cc///////
    #ifndef __DIRECTORY_H__
    #define __DIRECTORY_H__
    #include <string>
    #include <string>
    #include <sys/types.h>
    using std::string;
    class Path
    public:
    Path() {}
    Path(const std::string&);
    Path(const char* raw) { new (this) Path(string(raw)); }
    Path upper() const;
    void operator+= (const std::string&);
    // convert to string (char*):
    //operator std::string() const {return spath;}
    operator const char*() const {return spath.c_str();}
    const std::string& str() const {return spath;}
    private:
    std::string spath; // the real path
    inline Path operator+(const Path& L, const string& R)
    Path p(L);
    p += R;
    return p;
    int rmkdir(const string& path, const mode_t mode = 0744, const int depth = -1);
    #endif
    //////////////////// All the code is above ////////////////////////////////
    Use the under command
    $ g++ -ldb_cxx -lboost_regex -o test_put test_put.cc db_access.cc directory.cc
    to get a test program that can insert a record to database.
    To insert a record, use the under command:
    $ ./test_put ubuntu linux os
    It will store an EntryData named 'ubuntu' and two labels('linux', 'os') to database.
    Use the under command
    $ g++ -ldb_cxx -lboost_regex -lboost_program_options -o test_update test_update.cc db_access.cc directory.cc
    to get a test program that can update the existing records.
    To update the record, use the under command:
    $ ./test_update ubuntu -r linux -a canonical
    It will update the with the key 'ubuntu', with the label 'linux' removed and a new
    label 'canonical'.
    Great thanks to you if you've read and understood my code!
    I've said that the DB_SECONDARY_BAD exception is random. The same operation may cause
    exception in one time and may goes well in another time.
    As I've test below:
    ## Lines not started with '$' is the stdout or stderr.
    $ ./test_put linux os linus
    $ ./test_update linux -r os
    Old data| name: linux; labels: os linus
    New data| name: linux; labels: linus
    $ ./test_update linux -r linus
    Old data| name: linux; labels: linus
    New data| name: linux; labels:
    dbfile_bynam: DB_SECONDARY_BAD: Secondary index inconsistent with primary
    Db::put: DB_SECONDARY_BAD: Secondary index inconsistent with primary
    terminate called after throwing an instance of 'DbException'
    what(): Db::put: DB_SECONDARY_BAD: Secondary index inconsistent with primary
    已放弃
    Look! I've received a DB_SECONDARY_BAD exception. But thus exception does not always
    happen even under the same operation.
    For the exception is random, you may have not the "luck" to get it during your test.
    So let's insert a record by:
    $ ./test_put t
    and then give it a great number of labels:
    $ for((i = 0; i != 100; ++i)); do ./test_update t -a "label_$i"; done
    and then:
    $ for((i = 0; i != 100; ++i)); do ./test_update t -r "label_$i"; done
    Thus, the DB_SECONDARY_BAD exception is almost certain to happen.
    I've been confused by the problem for times. I would appreciate if someone can solve
    my problem.
    Many thanks!
    Wonder

  • Bug #18104 still exists

    Hello,
    I am quite disappointed about BDB 5. One of the most nasty bugs (#18104) still
    exists. As soon as you want to use the set_thread_count() feature, BDB will not
    free the thread-control-block. If you connect/disconnect, BDB will stop working
    quite early. You can re-produce this issue with any `db_*` tool.
    The testcase:
    #include <stdlib.h>
    #include <db.h>
    #define DIRECTORY "/tmp/db"
    int main()
        /* open environment */
        DB_ENV *handle;
        int status = db_env_create( &handle, 0 );
        status = handle->set_cachesize( handle, 0, 32*1024*1024, 0 );
        status = handle->set_thread_count( handle, 0x100 );
        status = handle->open( handle, DIRECTORY, DB_CREATE, 0644 );
        if( status != 0 )
            return 1;
        /* raise error "Unable to allocate thread control block" */
        for( ;; )
            system( "db_stat -e -h " DIRECTORY " | grep process/thread | wc" );
        return 0;
    }

    Hi Sandra,
    Hi Greg,
    Our architecture is quite simple: a cron-job runs ENV->failchk() and ENV->txn_checkpoint()
    once a minute (which should be fine, shouldn't it?)
    The problem, neither ENV->close() nor ENV->failchk() removes outdated items from the
    thread-control-block. One would expect, that the PID is added to the block as soon as the
    process connects and removed when the process disconnects. But it is not.
    If the block runs out of memory, BDB requires a recovery (see the down below testcase).
    Usually ENV->failchk() cleans the thread-control-block, as soon as there are more items in
    the block than "thread_count". Today three times it did not even remove them, if there were
    more than "thread_count" items in the block - but this happend sporadic so it was difficult
    to create a testcase.
    Once ENV->failchk() cleans the thread-control-block, BDB works as expected. If a process
    connects, the PID is added to the block, and as soon as the process disconnects, the PID is
    removed from the thread-control-block. You can test this by looping the first loop 1090 times.
    The testcase:
    #include <stdio.h>
    #include <stdlib.h>
    #include <signal.h>
    #include <db.h>
    #include <errno.h>
    #define DIRECTORY "/tmp/db"
    static int bdb_is_alive( DB_ENV *dbenv, pid_t pid, db_threadid_t tid, u_int32_t flags )
        int status;
        status = kill( pid, 0 );
        if( status != -1 )
            return 1;
        if( errno == ESRCH )
            return 0;
        exit( 1 );  /* should never happen */
    int main()
        system( "mkdir -p " DIRECTORY );
        system( "db_recover -h " DIRECTORY );
        system( "rm -rfv " DIRECTORY "/*" );
        /* open environment */
        int status, i;
        DB_ENV *handle;
        status = db_env_create( &handle, 0 );
        status = handle->set_cachesize( handle, 0, 32*1024*1024, 0 );
        status = handle->set_thread_count( handle, 1091 );
        status = handle->set_isalive( handle, bdb_is_alive );
        status = handle->open( handle, DIRECTORY, DB_CREATE, 0644 );
        if( status != 0 )
            return 1;   /* should never happen */
        status = handle->failchk( handle, 0 );
        status = handle->close( handle, 0 );
        /* Now start workers (`db_stat`) + failchks() */
        for( i=0; i < 1089; ++i )       /* thread_count - 2 */
            fprintf(stderr,"Number of items in the thread-control-block: "); fflush(stdout);
            system( "db_stat -e -h " DIRECTORY " | grep process/thread | wc -l" );
            status = db_env_create( &handle, 0 );
            status = handle->set_isalive( handle, bdb_is_alive );
            status = handle->open( handle, DIRECTORY, DB_CREATE, 0644 );
            if( status != 0 )
                return 1;   /* should never happen */
            status = handle->failchk( handle, 0 );      /* strange - does not remove the process-entries created by `db_stat` */
            if( status != 0 )
                return 1;   /* should never happen */
            status = handle->close( handle, 0 );
        /* raise error: "Unable to allocate thread control block" */
        for( i=1; i < 422; ++i )
            fprintf(stderr,"Number of items in the thread-control-block: "); fflush(stdout);
            system( "db_stat -e -h " DIRECTORY " | grep process/thread | wc -l" );
        /* You should see on stderr:
                db_stat: Unable to allocate thread control block
                db_stat: Unable to allocate thread control block
                db_stat: DB_ENV->open: /tmp/db: Cannot allocate memory
        fprintf(stderr,"BDB is dead now. Only `db_recover` helps...\n%s\n",db_version(NULL,NULL,NULL));
        return 0;
    }

  • Old kexi bug still exists?

    So I was looking into using something other than phpMyAdmin for editing my databases, so I looked into kexi.  When I used the import "Structure and Data" option, it just populates the tables with empty values.
    After some searching, I found that this use to be an issue a while back: Problem and Resolution.
    Can anyone else confirm this as a still-existing (or reoccurring) bug?
    Or, am I just messing something up along the way?
    Thanks.

    I hope someone can help me... it is very important and i am desperate for answers (BUMP)

  • I can no longer scroll with the button on my touch pad. Have tried everything on Firefox help and still can't scroll....HELP please.

    I have just updated to the Firefox 4 Beta and from having no problems at all with the previous version I can now no longer scroll. I have reloaded my touch pad drivers and also been onto "about:config" and altered various things suggested by 'firefox help' and still no luck. The scroll button on the touch pad does still work as I can still scroll in Thunderbird and any of the other programs that I use, just not with Firefox any longer. Any suggestions would be gratefully received. Many thanks.

    Since today the scrolling started to work for me. Was there a fix auto installed? I havent updated anything that I know about.
    I might have uninstall an old Java JRE, don't remember when I did it, could that have done it?

  • My firefox crashed when upload file on our web based application. This happen on two PC, even during firefox safe mode the problem still exist. But the problem

    Dear All,
    My firefox (version 23 on win 7) crashed when upload file on our internal web based application. This happen on two PC, even in firefox safe mode the problem still exist. So, my first conclusion the problem nothing to do with extension. here the crash ID https://crash-stats.mozilla.com/report/index/81220865-36c0-4e10-a484-6d27e2131023 and https://crash-stats.mozilla.com/report/index/86d2b779-9730-4d2c-b276-a86d42131023. I wonder if this happen because jquery modul in our web based application. But when I tried on my laptop, the problem dissapear. I tried to replicate same situation on different server, I mean I put the exact same application source to other server, never meet the same problem. Thus, I suspect may be it related to antivirus that installed in our network which is kaspersky. I am googling, never meet the clue.
    If you meet the same problem, please help me.
    I am so sorry for my poor english.
    Him Him

    The crashes are a problem with the winhadnt.dll file (OCular Agent from TEC Solutions Limited) as you can see in the crash reports.
    *http://www.freefixer.com/library/file/winhadnt.dll-52397/

  • Does the "Warning! Not Enough Memory" bug still exist in Logic 8?

    Hello everyone,
    I'm wondering if the dreaded "warning, not enough memory" bug still exists in Logic 8. Here is a detailed account of the bug from Logic 7: http://discussions.apple.com/thread.jspa?messageID=767597&#767597
    If this is fixed, I'm seriously considering upgrading mid-project! The film score I'm working on has many doubling parts that I'd like to edit at the same time in the matrix editor. However, editing multiple parts in the matrix editor seems provoke the little bugger, and I've already been bitten a few times in this project already. The only solution I've found is to stay clear of editing multiple parts at once (i.e. edit each parts individually, which obviously takes more time) or save before editing and hope I dont get bit.
    I would LOVE to hear a report that this bug has been exterminated, and perhaps may upgrade mid project if thats the case.
    Thanks in advance for your reply!

    Heya,
    I'm not familiar with the bug you're talking about. But would, as a fellow film composer, strongly urge you against the mid project switch.
    I loaded in LP8 and ofcourse had a look at what it was all about, and it's really really fantastic. It also seems very stable. I fortunately have a side project that I am working on so switched to LP8 for that. Whilst I'm thankful to get my head around a very new approach for logic, I'm also thankful that I have this side project as it has illuminated a multitude of problems that exist with LP8 that would make any scoring process a bit of a headache to say the least. The main one being that if you don't have a very very powerful mac (I'm prepping a really fully loaded 8 core) you are not going to get anywhere near the performance out of Logic as you do with 7. This is a bottom up overhaul and it needs hardware to match. Heck even my 30" cinema display seems cramped and insubstantial on this new version. I would be so bold to say hold off until you have a hearty new mac and at least 8.2 is released IMHO but maybe try and get on it onto a smaller project to familiarize yourself before hand.

  • Bug in XE which doesn't exist in 10gR2, help still wanted

    According:
    Where to ask for help for bug in XE which doesn't exist in 10gR2
    is there any feedback from oracle stuff or anyone that could help in this thread...
    We are in the middle of the project and framed with unresolving problem.
    Please any suggestion is more then welcome.
    THX!

    Fancy...we are trying to finish product under 0$ extra expences and you suggest me to use oracle app server ....
    I hope that now my standing is clear...we just want to use free software...but it is not functioning as it should (at least as is declared it should work).
    AFAIK, next release of XE will be published with new major Oracle DB release (11g,h,i,j,k or any letter that will be popular in that moment) which will happened not earlier then 1.5 year in future. With this new XE version will be shipped also the most current version of Apex. So any serious Oracle developer that have to use Universal version and db_link... is in dead end.
    Now we have some bitter taste ... I'm afraid as some other in our position. After all 5k$ (what cost Standard One edition) is not a little money....at least for some of us!
    THX for attention reading this.

  • Mac book trackpad scroll BUG - been around since forever - please FIX it!

    Hi all
    This post is aimed for adobe reps
    I'm talking about the scrolling bug on macbooks trackpad and Apple external trackpad
    Sure, there are buggy JS work-arounds, but they don't cover the scenario we need
    Our app is a flex app, with one major scroller for the app, which is unusuable on macs
    Guys, this bug had been around for years
    last mention I came accross is here - http://forums.adobe.com/message/4740815
    and this is about it when it comes to googling for a solution.
    I asked in many forums - flash, flex, starling, feathers etc...
    all pointed back to the flash player
    If you don't intend to open-sourch the flash player runtime
    Can you please fix this nasty bug?
    it is critical, and the fact we can only wait for it to surface your priority lists makes your users feel helpless
    please respond
    please prioritize this bug
    it's basic and cuts of a whole market that will not be able to use our product because of it
    I erge you to consider this as critical
    Thank you

    Jeromie hello
    Encouraged by the possibility you opened - I opened up flash pro
    made the simplest test to see if  I have something basic to start from:
    mc.addEventListener(MouseEvent.MOUSE_WHEEL, on_wheel);
    function on_wheel(e:MouseEvent):void{
            trace('delta: '+e.delta);
    I'm using a macbook pro to test this, and no object seems to respond
    I tried listening on movieclips textfields the stage and the main timeline, without any of those responding
    I checked the reference, which claims it is supported only on windows.
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Interacti veObject.html#event:mouseWheel
    I even tried using flash professional built-in components like TextArea, ScrollPane (that are still maintained by Adobe) to see purhaps I missed something surely the Adobe engineers would solve on their own set of components
    but I guess the reference mentions it supports windows only for a reason...
    I hoped it would be out-dated but it seems like it has an updated status.
    it says:
    Dispatched when a mouse wheel is spun over an InteractiveObject instance. If the target is a text field, the text scrolls as the default behavior. Only available on Microsoft Windows operating systems.
    I've tested this behaviour in the browser and actually got something to respond:
    it works on a mac in Firefox, and Chrome, but not in safari
    found an example for you online you can check, it behaves the same.
    doesn't work on safari (most mackbook users use safari...)
    http://blog.flexexamples.com/wp-content/uploads/MouseWheel_test/bin/main.html
    here's another one that uses pure actionscript if you think it has something to do with flex rather then the flash player...
    1. Go to http://darkstar.puremvc.org/
    2. Try scrolling with your mouse wheel or trackpad once the window pops up. Nothing should happen.
    3. Now click the little green icon in the top-right of the application which toggles Fullscreen. Once in full screen, try scrolling with your mouse wheel or trackpad. Scroll should occur as expected.
    here is another simple one:
    works on chrome, doesn't respond on safari
    http://gingerbinger.com/wp-content/uploads/2011/03/MouseWheelSimple.swf
    Jeromie, if you can please point me to a single example that would support scrolling a container, or just catch mousewheel events on a MovieClip
    I would go ahead and build the component my self.
    As I value it as important enough.
    Your input is appreciated
    thanks
    PS:
    here's some really old links that try to complement the flash player lack of support for macs mousewheel events, by trying to inject those events using JavaScript and ExternalInterface:
    Those are old, buggy, not worthy to be called alternatives since they work under narrow restrictions, and frankly, I think the flash player deserves a much more serious support like adobe has for issues it actually want to support and not leave this one for open-source, since the player is propietery
    http://code.google.com/p/swfmousewheel/
    http://code.google.com/p/flex-wmode-mousewheel-handler-example/
    http://blog.earthbrowser.com/2009/01/simple-solution-for-mousewheel-events.html
    http://hasseg.org/blog/post/138/os-x-mouse-wheel-support-for-actionscript-3-flash-applicat ions-v2/
    http://labs.byhook.com/2010/04/09/flash-mouse-wheel-support/
    here is a flash player related bug created on 2009:
    http://bugs.adobe.com/jira/browse/FP-2247

  • Black lines in landscape content still exist in v.32.4.4 !!

    Hi
    Adobe should have been fixing this bug in 32.4.4, they did for the Adobe Content viewer.
    But this bug still exists in applications made by DPS App Builder ver 32.4.4.
    Adobe, please make hot fix URGENT
    Thanks
    Eli

    If you rebuild your app with the option "Enable auto hiding of the vertical folio scroll bar" checked this issue will not appear. Will that not work for your app?
    We do plan to release a fix for this on our next scheduled dot release, in approximately a week and a half.

Maybe you are looking for

  • HP Pavilion Elite m9258 will not boot up. Won't recognise USB ports -mouse keys etc

    HP Pavilion Elite M9258 70 percent of the time will not boot up. Computet light is on. DVD drive will open and shut. Fans sound slightly quieter when this happens. The monitor comes on but the light goes to  orange. When I press any of the monitor bu

  • RAR - Risk Analysis - Permission Level - V_VBAK_AAT||AUART - Error

    I have a trouble related with risk analysis at permission level, when the V_VBAK_AAT||AUART is activated in two functions of my customized GRC rule-set (VIRSA_CC_FUNCPRM) for controlling some "document types" for tcodes VA01 and VA02. When I execute

  • HP Wifi Mobile Mouse

    My Wifi Mobile Mouse is pairing, but then its not connecting, I can't use it to control my pointer or anything. I've installed the suite that came with the mouse on the disk. Can anyone help me get my mouse working?

  • Audio Editing Issues

    Hi Has anyone worked out something for these situations? 1: I have source footage with 2 tracks ... dual mono... wireless mic 1 and wireless mic 2.  I edit the clip into a Project (set up as Stereo out) and need to balance the two audio clips. I can

  • PR Release strategy

    Dear All, We want that if any user change account assignment(Cost center,G/L.Order etc..) in PR the release should reset and need reapprovals. Please let me know how we can achieve this. Thanks.