-
Bug
-
Resolution: Done
-
P1: Critical
-
6.3
-
dd806b30dc57e0c91dadf090cdd2d8f51a9f6f41 (qt/qtdeclarative/6.2), 0cee1a494 (tqtc/lts-5.15)
With https://codereview.qt-project.org/c/qt/qtdeclarative/+/379334/16..17/src/quickdialogs2/quickdialogs2quickimpl/qml/%252BFusion/FolderBreadcrumbBar.qml I get a crash when running qtdeclarative/tests/manual/quickcontrols2/dialogs and opening a FolderDialog (use the Fusion style if you're not already on Linux: QT_QUICK_CONTROLS_STYLE=Fusion):
12:16:19: Starting /home/mitch/dev/qt-dev-debug/qtdeclarative/tests/manual/quickcontrols2/dialogs/dialogs ...
Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because it constitutes a group property.
Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
Binding on contentItem is not deferred as requested by the DeferredPropertyNames class info because one or more of its sub-objects contain an id.
AddressSanitizer:DEADLYSIGNAL
=================================================================
==59688==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000001a8 (pc 0x7f8cbb2c35d9 bp 0x7ffefcfee7b0 sp 0x7ffefcfee560 T0)
==59688==The signal is caused by a READ memory access.
==59688==Hint: address points to the zero page.
#0 0x7f8cbb2c35d8 in QV4::QQmlTypeWrapper::virtualInstanceOf(QV4::Object const*, QV4::Value const&) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmltypewrapper.cpp:418
#1 0x7f8cbacce0f4 in QV4::Object::instanceOf(QV4::Value const&) const /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4object_p.h:370
#2 0x7f8cbacae36e in QV4::Runtime::Instanceof::call(QV4::ExecutionEngine*, QV4::Value const&, QV4::Value const&) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:388
#3 0x7f8cbacae690 in QV4::Runtime::As::call(QV4::ExecutionEngine*, QV4::Value const&, QV4::Value const&) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:400
#4 0x7f8cbad84de7 in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:1381
#5 0x7f8cbad6431d in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:555
#6 0x7f8cbab3084e in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4function.cpp:98
#7 0x7f8cbafbf8ea in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:274
#8 0x7f8cbae44091 in QQmlBinding::evaluate(bool*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlbinding.cpp:223
#9 0x7f8cbae4eee2 in QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlbinding.cpp:283
#10 0x7f8cbae43d23 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlbinding.cpp:199
#11 0x7f8cbae48163 in QQmlBinding::setEnabled(bool, QFlags<QQmlPropertyData::WriteFlag>) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlbinding.cpp:672
#12 0x7f8cbb0776b6 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1397
#13 0x7f8cbaeabc86 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1042
#14 0x7f8cbaeac8e9 in QQmlComponentPrivate::completeCreate() /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1136
#15 0x7f8cbaeac5b7 in QQmlComponent::completeCreate() /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1123
#16 0x7f8cbaeaa05b in QQmlComponent::create(QQmlContext*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:863
#17 0x7f8ca6dc5104 in QQuickPlatformFolderDialog::QQuickPlatformFolderDialog(QObject*) /home/mitch/dev/qt-dev/qtdeclarative/src/quickdialogs2/quickdialogs2quickimpl/qquickplatformfolderdialog.cpp:82
#18 0x7f8ca6d7d52c in QQuickDialogImplFactory::createPlatformDialogHelper(QQuickDialogType, QObject*) /home/mitch/dev/qt-dev/qtdeclarative/src/quickdialogs2/quickdialogs2quickimpl/qquickdialogimplfactory.cpp:67
#19 0x7f8ca6fef6aa in QQuickAbstractDialog::create() /home/mitch/dev/qt-dev/qtdeclarative/src/quickdialogs2/quickdialogs2/qquickabstractdialog.cpp:439
#20 0x7f8ca6fedf50 in QQuickAbstractDialog::open() /home/mitch/dev/qt-dev/qtdeclarative/src/quickdialogs2/quickdialogs2/qquickabstractdialog.cpp:323
#21 0x7f8ca6fc0a8e in QQuickAbstractDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) /home/mitch/dev/qt-dev-debug/qtdeclarative/src/quickdialogs2/quickdialogs2/QuickDialogs2_autogen/EWIEGA46WW/moc_qquickabstractdialog_p.cpp:171
#22 0x7f8ca6fc2159 in QQuickAbstractDialog::qt_metacall(QMetaObject::Call, int, void**) /home/mitch/dev/qt-dev-debug/qtdeclarative/src/quickdialogs2/quickdialogs2/QuickDialogs2_autogen/EWIEGA46WW/moc_qquickabstractdialog_p.cpp:313
#23 0x7f8ca6fc5f09 in QQuickFolderDialog::qt_metacall(QMetaObject::Call, int, void**) /home/mitch/dev/qt-dev-debug/qtdeclarative/src/quickdialogs2/quickdialogs2/QuickDialogs2_autogen/EWIEGA46WW/moc_qquickfolderdialog_p.cpp:255
#24 0x7f8cb737bf1a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qmetaobject.cpp:321
#25 0x7f8cbb0c5e3d in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:50
#26 0x7f8cbac1c732 in CallMethod /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1444
#27 0x7f8cbac1f35b in CallPrecise /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1692
#28 0x7f8cbac25ea9 in operator() /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2364
#29 0x7f8cbac26170 in operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const::<lambda()> > /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2342
#30 0x7f8cbac26bfc in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2364
#31 0x7f8cbac255b9 in QV4::QObjectMethod::virtualCall(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2301
#32 0x7f8cba9a3f6d in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const /home/mitch/dev/qt-dev-debug/qtbase/include/QtQml/6.3.0/QtQml/private/../../../../../../../qt-dev/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:205
#33 0x7f8cbad7267d in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:873
#34 0x7f8cbad6431d in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:555
#35 0x7f8cbab3084e in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4function.cpp:98
#36 0x7f8cbab30133 in operator() /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4function.cpp:67
#37 0x7f8cbab32c68 in convertAndCall<QV4::Function::call(QObject*, void**, const QMetaType*, int, QV4::ExecutionContext*)::<lambda(const QV4::Value*, const QV4::Value*, int)> > /home/mitch/dev/qt-dev-debug/qtbase/include/QtQml/6.3.0/QtQml/private/../../../../../../../qt-dev/qtdeclarative/src/qml/jsruntime/qv4jscall_p.h:229
#38 0x7f8cbab30286 in QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/jsruntime/qv4function.cpp:64
#39 0x7f8cbafbfd04 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:306
#40 0x7f8cbae80076 in QQmlBoundSignalExpression::evaluate(void**) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:235
#41 0x7f8cbae80c20 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:350
#42 0x7f8cbb0609a2 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#43 0x7f8cbaefd31c in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmlengine.cpp:405
#44 0x7f8cb749e4ee in void doActivate<false>(QObject*, int, void**) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qobject.cpp:3806
#45 0x7f8cb748af36 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qobject.cpp:3974
#46 0x7f8cb62247b8 in QQuickAbstractButton::clicked() /home/mitch/dev/qt-dev-debug/qtdeclarative/src/quicktemplates2/QuickTemplates2_autogen/include/moc_qquickabstractbutton_p.cpp:599
#47 0x7f8cb621b733 in QQuickAbstractButtonPrivate::trigger(bool) /home/mitch/dev/qt-dev/qtdeclarative/src/quicktemplates2/qquickabstractbutton.cpp:368
#48 0x7f8cb6219eb4 in QQuickAbstractButtonPrivate::handleRelease(QPointF const&, unsigned long) /home/mitch/dev/qt-dev/qtdeclarative/src/quicktemplates2/qquickabstractbutton.cpp:191
#49 0x7f8cb62d720d in QQuickControl::mouseReleaseEvent(QMouseEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quicktemplates2/qquickcontrol.cpp:1984
#50 0x7f8cb3133fa6 in QQuickItem::event(QEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/items/qquickitem.cpp:8741
#51 0x7f8cb621fcb9 in QQuickAbstractButton::event(QEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quicktemplates2/qquickabstractbutton.cpp:1072
#52 0x7f8cb733f919 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1230
#53 0x7f8cb733f066 in doNotify /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1159
#54 0x7f8cb733ef11 in QCoreApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#55 0x7f8cb8a1b746 in QGuiApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:1930
#56 0x7f8cb733ecfd in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1063
#57 0x7f8cb734057a in QCoreApplication::sendEvent(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1479
#58 0x7f8cb37904dd in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem(QQuickItem*, bool, QPointerEvent*, bool) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1973
#59 0x7f8cb378e09d in QQuickDeliveryAgentPrivate::deliverUpdatedPoints(QPointerEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1817
#60 0x7f8cb378c5e3 in QQuickDeliveryAgentPrivate::deliverPointerEvent(QPointerEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1692
#61 0x7f8cb378815d in QQuickDeliveryAgentPrivate::handleMouseEvent(QMouseEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1465
#62 0x7f8cb377e298 in QQuickDeliveryAgent::event(QEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:706
#63 0x7f8cb341f569 in QQuickWindow::event(QEvent*) /home/mitch/dev/qt-dev/qtdeclarative/src/quick/items/qquickwindow.cpp:1482
#64 0x7f8cb733f919 in QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1230
#65 0x7f8cb733f066 in doNotify /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1159
#66 0x7f8cb733ef11 in QCoreApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#67 0x7f8cb8a1b746 in QGuiApplication::notify(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:1930
#68 0x7f8cb733ecfd in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1063
#69 0x7f8cb734063a in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1493
#70 0x7f8cb8a1dcbb in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:2248
#71 0x7f8cb8a1c3a9 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:1999
#72 0x7f8cb8b5f480 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1134
#73 0x7f8cacbed1f3 in xcbSourceDispatch /home/mitch/dev/qt-dev/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:93
#74 0x7f8cb54a617c in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5217c)
#75 0x7f8cb54a63ff (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x523ff)
#76 0x7f8cb54a64a2 in g_main_context_iteration (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x524a2)
#77 0x7f8cb7cd6138 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:429
#78 0x7f8cacbed7a0 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:132
#79 0x7f8cb73706f0 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qeventloop.cpp:136
#80 0x7f8cb73710f1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qeventloop.cpp:218
#81 0x7f8cb73400cc in QCoreApplication::exec() /home/mitch/dev/qt-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1384
#82 0x7f8cb8a1b557 in QGuiApplication::exec() /home/mitch/dev/qt-dev/qtbase/src/gui/kernel/qguiapplication.cpp:1862
#83 0x557b153b53d4 in main /home/mitch/dev/qt-dev/qtdeclarative/tests/manual/quickcontrols2/dialogs/dialogs.cpp:79
#84 0x7f8cb6bb70b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
#85 0x557b153b488d in _start (/home/mitch/dev/qt-dev-debug/qtdeclarative/tests/manual/quickcontrols2/dialogs/dialogs+0x888d)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/mitch/dev/qt-dev/qtdeclarative/src/qml/qml/qqmltypewrapper.cpp:418 in QV4::QQmlTypeWrapper::virtualInstanceOf(QV4::Object const*, QV4::Value const&)
==59688==ABORTING
12:16:24: /home/mitch/dev/qt-dev-debug/qtdeclarative/tests/manual/quickcontrols2/dialogs/dialogs exited with code 1
- is required for
-
QTBUG-87798
Implement non-native FolderDialog
-
- Closed
-
| For Gerrit Dashboard: QTBUG-98792 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V |
| 383891,2 | Qml: Don't crash when as-casting to type with errors | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
| 383958,3 | Qml: Don't crash when as-casting to type with errors | 6.2 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
| 450561,3 | Qml: Don't crash when as-casting to type with errors | tqtc/lts-5.15 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |