Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.3, 5.10.0
-
None
-
Qt 5.10 and 5.9.3 on Linux
Description
This test code causes a crash during running. See attached archive.
Seem like this bug is related to https://bugreports.qt.io/browse/QTBUG-36183
Backtrace
Thread 1 "crashtest" received signal SIGSEGV, Segmentation fault.
0x00007ffff716d70d in QV4::SparseArrayData::allocate(QV4::Object*, bool) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
(gdb) bt
#0 0x00007ffff716d70d in QV4::SparseArrayData::allocate(QV4::Object*, bool) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#1 0x00007ffff716daec in QV4::ArrayData::insert(QV4::Object*, unsigned int, QV4::Value const*, bool) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#2 0x00007ffff7196759 in QV4::Object::internalPutIndexed(unsigned int, QV4::Value const&) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#3 0x00007ffff7196c38 in QV4::Object::internalPut(QV4::String*, QV4::Value const&) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#4 0x00007ffff7158f35 in QV4::ExecutionEngine::fromVariant(QVariant const&) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#5 0x00007ffff723603b in QQmlBoundSignalExpression::evaluate(void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#6 0x00007ffff7237143 in ?? () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#7 0x00007ffff72792db in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#8 0x00007ffff721a091 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#9 0x00007ffff6b202ce in QMetaObject::activate(QObject*, int, int, void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5
#10 0x0000000000401eee in Controller::showList (this=0x7db5e0, _t1=...) at ./main.moc:134
#11 0x0000000000403387 in Controller::show_list (this=0x7db5e0) at ../crashtest/main.cpp:69
#12 0x0000000000401ce5 in Controller::qt_static_metacall (_o=0x7db5e0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffb660) at ./main.moc:79
#13 0x0000000000401e70 in Controller::qt_metacall (this=0x7db5e0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffb660) at ./main.moc:120
#14 0x00007ffff726f259 in ?? () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#15 0x00007ffff71f0fa4 in ?? () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#16 0x00007ffff71f1b96 in ?? () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#17 0x00007ffff71f2cd0 in QV4::QObjectMethod::callInternal(QV4::CallData*, QV4::Scope&) const () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#18 0x00007ffff720adfb in QV4::Runtime::method_callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#19 0x00007ffff7fe65f5 in ?? ()
#20 0xffff800000004471 in ?? ()
#21 0x00007fffffffbb8f in ?? ()
#22 0x0000000000000007 in ?? ()
#23 0x0000003000000018 in ?? ()
#24 0x00007fffffffc200 in ?? ()
#25 0x00007fffffffc140 in ?? ()
#26 0x0000006e0000005b in ?? ()
#27 0x00007fffd8528370 in ?? ()
#28 0x00000000008e0a00 in ?? ()
#29 0x00007fffffffbd50 in ?? ()
#30 0x00000000008e0a00 in ?? ()
#31 0x00007ffff7164e37 in QV4::ExecutionContext::simpleCall(QV4::Scope&, QV4::CallData*, QV4::Function*) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#32 0x00007ffff729ba9c in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*, QV4::Scope&) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#33 0x00007ffff7235ddb in QQmlBoundSignalExpression::evaluate(void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#34 0x00007ffff7237143 in ?? () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#35 0x00007ffff72792db in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#36 0x00007ffff721a091 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#37 0x00007ffff6b202ce in QMetaObject::activate(QObject*, int, int, void**) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5
#38 0x00007ffff72af450 in ?? () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#39 0x00007ffff722c8e4 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#40 0x00007ffff722ca07 in QQmlComponentPrivate::completeCreate() () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#41 0x00007ffff722c7fa in QQmlComponent::create(QQmlContext*) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#42 0x00007ffff72a742b in QQmlApplicationEnginePrivate::finishLoad(QQmlComponent*) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#43 0x00007ffff72a76ae in QQmlApplicationEnginePrivate::startLoad(QUrl const&, QByteArray const&, bool) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#44 0x00007ffff72a76dd in QQmlApplicationEngine::load(QUrl const&) () from /home/vlad/Qt/5.10.0/gcc_64/lib/libQt5Qml.so.5
#45 0x000000000040205c in main (argc=1, argv=0x7fffffffdcd8) at ../crashtest/main.cpp:93
Attachments
For Gerrit Dashboard: QTBUG-65828 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
220422,2 | Fix crash when changing from a simple to a sparse array | 5.11 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
220460,2 | Fix crash when changing from a simple to a sparse array | 5.9 | qt/qtdeclarative | Status: MERGED | +2 | 0 |