ASSERT / Debug Crash in Qt 5.3.2. WTF, Windows x64, LLIntData.cpp bitwise_cast<uint32_t*>(&testVector)[sizeof(void*)/sizeof(uint32_t) + 1] == 42)



  • Hi all,

    I built a JIT-free version of Qt 5.3.2 (Win64) and now run into this assertion in

    ..\Qt\qtwebkit\Source\JavaScriptCore\llint\LLIntData.cpp

    @Vector<int> testVector;
    testVector.resize(42);
    ASSERT(bitwise_cast<uint32_t*>(&testVector)[sizeof(void*)/sizeof(uint32_t) + 1] == 42);@

    Here is a bug report / changeset I've found wrt this:

    http://trac.webkit.org/changeset/148896/trunk/Source/JavaScriptCore/llint/LLIntData.cpp

    and

    https://bugs.webkit.org/show_bug.cgi?id=97268

    The assert is supposed to check, that the Vector's m_size variable is at the correct address, I guess?!

    If not, anyone can shed a light on this and explain the purpose of it and where I might have incorrect compilation settings applied?

    Am I missing somewhere an alignment pragma or something to make this
    (sizeof(void*)/sizeof(uint32_t))
    always calculate the right address - regardless of whether its x86 or x64?

    Thanks in advance


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    This question is better suited for the interest mailing list. You'll find there Qt's developers/maintainers (this forum is more user oriented)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.