Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-119326

application crash when using QML-Debugger: Component vs .qml

    XMLWordPrintable

Details

    • Linux/X11
    • 27ba69af2 (dev), 833f4f691 (6.7), 477c3c3c2 (6.6), 7318fadc4 (tqtc/lts-6.5), e1ded8e46 (tqtc/lts-6.2), bba76cd15 (tqtc/lts-5.15)

    Description

      After I changed code from:

      const popupComponent = Qt.createComponent("qrc:/map_tab/RoutePointContextMenu.qml");
      const routePointContextMenu = popupComponent.createObject(...);
      

      to

      Component {
        id: routePointContextMenuC
        RoutePointContextMenu {}
      }
      
      const routePointContextMenu = routePointContextMenuC.createObject(...);
      

      My project starts crashes when I create RoutePointContextMenu (it inherits RoutePointContextMenu) and and remove element from ListView (this action called from RoutePointContextMenu).

      But it crashes only when QML Debugger active, in all other cases, even when I build my project and Qt with sanitizers all works just fine.

      The backtrace looks the same as QTBUG-63919 , here is backtrace:

      #0  0x00007ffff6219c57 in QObjectPrivate::ConnectionData::resizeSignalVector(unsigned int) (size=<optimized out>, this=0x55555b519b50) at kernel/qobject_p.h:304
      #1  QObjectPrivate::addConnection(int, QObjectPrivate::Connection*) (this=<optimized out>, signal=0, c=0x55555b50b200) at kernel/qobject.cpp:327
      #2  0x00007ffff6226e24 in QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) (sender=sender@entry=0x55555a888d40, signal_index=0, receiver=receiver@entry=0x7ffff6a0cac0 <(anonymous namespace)::Q_QGS_objectReferenceHash::innerFunction()::holder>, slot=slot@entry=0x7fffffffc2d0, slotObj=slotObj@entry=0x55555b53c3f0, type=<optimized out>, types=<optimized out>, senderMetaObject=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:132
      #3  0x00007ffff622720e in QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) (sender=sender@entry=0x55555a888d40, signal=signal@entry=0x7fffffffc2c0, receiver=receiver@entry=0x7ffff6a0cac0 <(anonymous namespace)::Q_QGS_objectReferenceHash::innerFunction()::holder>, slot=slot@entry=0x7fffffffc2d0, slotObj=0x55555b53c3f0, type=Qt::AutoConnection, types=0x0, senderMetaObject=<optimized out>) at kernel/qobject.cpp:5040
      #4  0x00007ffff68d6f07 in QObject::connect<void (QObject::*)(QObject*), void ((anonymous namespace)::ObjectReferenceHash::*)(QObject*)> (type=Qt::AutoConnection, slot=(void ((anonymous namespace)::ObjectReferenceHash::*)((anonymous namespace)::ObjectReferenceHash * const, QObject *)) 0x7ffff68d4550 <(anonymous namespace)::ObjectReferenceHash::remove(QObject*)>, receiver=0x7ffff6a0cac0 <(anonymous namespace)::Q_QGS_objectReferenceHash::innerFunction()::holder>, signal=(void (QObject::*)(QObject * const, QObject *)) 0x7ffff6229450 <QObject::destroyed(QObject*)>, sender=0x55555a888d40) at /usr/include/qt/QtCore/qobject.h:268
      #5  QQmlDebugService::idForObject(QObject*) (object=object@entry=0x55555a888d40) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/debugger/qqmldebugservice.cpp:165
      #6  0x00007fffe801a26e in QQmlEngineDebugServiceImpl::storeObjectIds(QObject*) (co=0x55555a888d40, this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:379
      #7  0x00007fffe8020a3a in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) [clone .part.0] [clone .isra.0] (message=..., ctxt=ctxt@entry=0x55555b54beb0, instances=..., this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:397
      #8  0x00007fffe8020aa5 in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) (this=<optimized out>, instances=<optimized out>, ctxt=0x55555b54beb0, message=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:389
      #9  QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) [clone .part.0] [clone .isra.0] (message=..., ctxt=ctxt@entry=0x55555b53e180, instances=..., this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:413
      #10 0x00007fffe8020aa5 in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) (this=<optimized out>, instances=<optimized out>, ctxt=0x55555b53e180, message=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:389
      #11 QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) [clone .part.0] [clone .isra.0] (message=..., ctxt=ctxt@entry=0x55555964ab10, instances=..., this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:413
      #12 0x00007fffe8020aa5 in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) (this=<optimized out>, instances=<optimized out>, ctxt=0x55555964ab10, message=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:389
      #13 QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) [clone .part.0] [clone .isra.0] (message=..., ctxt=ctxt@entry=0x55555ad38cf0, instances=..., this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:413
      #14 0x00007fffe8020aa5 in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) (this=<optimized out>, instances=<optimized out>, ctxt=0x55555ad38cf0, message=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:389
      #15 QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) [clone .part.0] [clone .isra.0] (message=..., ctxt=ctxt@entry=0x55555aee7a20, instances=..., this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:413
      #16 0x00007fffe8020aa5 in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) (this=<optimized out>, instances=<optimized out>, ctxt=0x55555aee7a20, message=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:389
      #17 QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) [clone .part.0] [clone .isra.0] (message=..., ctxt=ctxt@entry=0x55555ac2c450, instances=..., this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:413
      #18 0x00007fffe8020aa5 in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) (this=<optimized out>, instances=<optimized out>, ctxt=0x55555ac2c450, message=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:389
      #19 QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) [clone .part.0] [clone .isra.0] (message=..., ctxt=<optimized out>, instances=..., this=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:413
      #20 0x00007fffe8015f8d in QQmlEngineDebugServiceImpl::buildObjectList(QDataStream&, QQmlContext*, QList<QPointer<QObject> > const&) (this=0x5555585bcb30, instances=<optimized out>, ctxt=0x5555585b7570, message=...) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:385
      #21 QQmlEngineDebugServiceImpl::processMessage(QByteArray const&) (this=0x5555585bcb30, message=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp:533
      #22 0x00007ffff621bbd4 in QObject::event(QEvent*) (this=0x5555585bcb30, e=0x55555b54f200) at kernel/qobject.cpp:1347
      #23 0x00007ffff61f4168 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555585bcb30, event=0x55555b54f200) at kernel/qcoreapplication.cpp:1064
      #24 0x00007ffff61f90cb in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x555558108580) at kernel/qcoreapplication.cpp:1821
      #25 0x00007ffff623f138 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x555558218020) at kernel/qeventdispatcher_glib.cpp:277
      #26 0x00007ffff2f8ef69 in g_main_dispatch (context=0x7fffec000ec0) at ../glib/glib/gmain.c:3476
      #27 0x00007ffff2fed327 in g_main_context_dispatch_unlocked (context=0x7fffec000ec0) at ../glib/glib/gmain.c:4284
      #28 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fffec000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
      #29 0x00007ffff2f8d162 in g_main_context_iteration (context=0x7fffec000ec0, may_block=1) at ../glib/glib/gmain.c:4414
      #30 0x00007ffff6242f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555582169d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #31 0x00007ffff61f2e74 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffcd40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
      #32 0x00007ffff61f4313 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ulherman Ulf Hermann
            evgeniy_dushistov evgeniy_dushistov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: