Uploaded image for project: 'Qt Design Studio'
  1. Qt Design Studio
  2. QDS-4728

Crash on rapidly selecting items

    XMLWordPrintable

Details

    Description

      QtDS is crashing when rapidly selecting items. This especially happens when selecting items that need to generate specifics via the template mechanism like GradientStop and Custom Components.

      Stack trace from the crash with 6.2.0 snapshot:

      Thread 1 "qtdesignstudio" received signal SIGSEGV, Segmentation fault.
      0x00007ffff58ce683 in QV4::Compiler::Codegen::visit(QQmlJS::AST::UiProgram*) ()
         from /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      (gdb) bt
      #0  0x00007ffff58ce683 in QV4::Compiler::Codegen::visit(QQmlJS::AST::UiProgram*) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #1  0x00007ffff5b9906a in QV4::QQmlTypeWrapper::lookupSingletonProperty(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value const&) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #2  0x00007ffff5a6e5d5 in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #3  0x00007ffff5a73a4f in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #4  0x00007ffff59d329a in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #5  0x00007ffff59d345f in QV4::Function::call(QV4::Value const*, void**, QMetaType const*, int, QV4::ExecutionContext const*) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #6  0x00007ffff5aedbb8 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #7  0x00007ffff5aab713 in QQmlBoundSignalExpression::evaluate(void**) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #8  0x00007ffff5aabde0 in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #9  0x00007ffff5b0f27b in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #10 0x00007ffff6496ac9 in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #11 0x00007ffff5b116cc in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #12 0x00007ffff5ae96e2 in QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #13 0x00007ffff5ae9c2e in QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlRefPointer<QQmlContextData> const&) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #14 0x00007ffff5aaea97 in QQmlComponent::create(QQmlIncubator&, QQmlContext*, QQmlContext*) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #15 0x00007fffe0a6e99e in  () at /home/hag/qtdesignstudio-2.2.0_102/lib/qtcreator/plugins/../../Qt/lib/libQt6Quick.so.6
      #16 0x00007ffff5b33485 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #17 0x00007ffff5aa1f88 in QQmlBinding::slowWrite(QQmlPropertyData const&, QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #18 0x00007ffff5aa339d in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #19 0x00007ffff5aa64f8 in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #20 0x00007ffff5aa22a4 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #21 0x00007ffff5b0f27b in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/qtcreator/../Qt/lib/libQt6Qml.so.6
      #22 0x00007ffff6496ac9 in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #23 0x00007fffe13766c0 in  () at /home/hag/qtdesignstudio-2.2.0_102/lib/qtcreator/plugins/libQmlDesigner.so
      #24 0x00007fffe138f367 in  () at /home/hag/qtdesignstudio-2.2.0_102/lib/qtcreator/plugins/libQmlDesigner.so
      #25 0x00007fffe138fd53 in  () at /home/hag/qtdesignstudio-2.2.0_102/lib/qtcreator/plugins/libQmlDesigner.so
      #26 0x00007ffff64878ff in QObject::event(QEvent*) () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #27 0x00007ffff75f1d72 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Widgets.so.6
      #28 0x00007ffff643b2fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #29 0x00007ffff65b6f7b in QTimerInfoList::activateTimers() () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #30 0x00007ffff669173c in  () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #31 0x00007ffff326d17d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #32 0x00007ffff326d400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #33 0x00007ffff326d4a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #34 0x00007ffff6691a29 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #35 0x00007ffff6447e2b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
          at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #36 0x00007ffff644311b in QCoreApplication::exec() () at /home/hag/qtdesignstudio-2.2.0_102/bin/../lib/Qt/lib/libQt6Core.so.6
      #37 0x000000000040ce1e in  ()
      #38 0x00007ffff5da90b3 in __libc_start_main (main=
          0x409c00, argc=1, argv=0x7fffffffdf28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdf18)
          at ../csu/libc-start.c:308
      #39 0x000000000040d40e in  ()
      

      Stack trace from the crash with 5.15.0 snapshot:

      0x00007ffff51c6ac0 in QV4::QQmlTypeWrapper::virtualResolveLookupGetter(QV4::Object const*, QV4::ExecutionEngine*, QV4::Lookup*) ()
         from /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      (gdb) bt
      #0  0x00007ffff51c6ac0 in QV4::QQmlTypeWrapper::virtualResolveLookupGetter(QV4::Object const*, QV4::ExecutionEngine*, QV4::Lookup*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #1  0x00007ffff51c56e8 in QV4::QQmlTypeWrapper::lookupSingletonProperty(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value const&) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #2  0x00007ffff5097888 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #3  0x00007ffff509b937 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #4  0x00007ffff5030375 in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #5  0x00007ffff51b1eda in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #6  0x00007ffff51b75e7 in QQmlBinding::evaluate(bool*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #7  0x00007ffff51bc2a5 in QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #8  0x00007ffff51b8e03 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #9  0x00007ffff51c8ef2 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #10 0x00007ffff5157e09 in QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #11 0x00007ffff5158324 in QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlContextData*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #12 0x00007ffff515129d in QQmlComponent::create(QQmlIncubator&, QQmlContext*, QQmlContext*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #13 0x00007fffda6004c9 in QQuickLoaderPrivate::_q_sourceLoaded() ()
          at /home/hag/qtdesignstudio-2.1.9_109/lib/qtcreator/plugins/../../Qt/lib/libQt5Quick.so.5
      #14 0x00007fffda600628 in QQuickLoaderPrivate::load() ()
          at /home/hag/qtdesignstudio-2.1.9_109/lib/qtcreator/plugins/../../Qt/lib/libQt5Quick.so.5
      #15 0x00007fffda60150a in QQuickLoader::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
          at /home/hag/qtdesignstudio-2.1.9_109/lib/qtcreator/plugins/../../Qt/lib/libQt5Quick.so.5
      #16 0x00007ffff514fa4a in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #17 0x00007ffff514e1c5 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyData::WriteFlag>) () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #18 0x00007ffff514f5be in QQmlPropertyPrivate::writeValueProperty(QObject*, QQmlPropertyData const&, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyData::WriteFlag>) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #19 0x00007ffff51b941d in QQmlBinding::slowWrite(QQmlPropertyData const&, QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #20 0x00007ffff51bac70 in GenericBinding<0>::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #21 0x00007ffff51bc2ef in QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #22 0x00007ffff51b8e03 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #23 0x00007ffff51b90ce in QQmlBinding::refresh() () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #24 0x00007ffff5191868 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #25 0x00007ffff5140bb6 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/qtcreator/../Qt/lib/libQt5Qml.so.5
      #26 0x00007ffff5fe92a6 in void doActivate<false>(QObject*, int, void**) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #27 0x00007fffdb084114 in  () at /home/hag/qtdesignstudio-2.1.9_109/lib/qtcreator/plugins/libQmlDesigner.so
      #28 0x00007fffdb095d93 in  () at /home/hag/qtdesignstudio-2.1.9_109/lib/qtcreator/plugins/libQmlDesigner.so
      #29 0x00007fffdb096853 in  () at /home/hag/qtdesignstudio-2.1.9_109/lib/qtcreator/plugins/libQmlDesigner.so
      #30 0x00007ffff5fe034b in QObject::event(QEvent*) () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #31 0x00007ffff735359c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Widgets.so.5
      #32 0x00007ffff735a060 in QApplication::notify(QObject*, QEvent*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Widgets.so.5
      #33 0x00007ffff5fb0cc8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #34 0x00007ffff600ba99 in QTimerInfoList::activateTimers() () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #35 0x00007ffff600c271 in timerSourceDispatch(_GSource*, int (*)(void*), void*) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #36 0x00007ffff287017d in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #37 0x00007ffff2870400 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #38 0x00007ffff28704a3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #39 0x00007ffff600c5dc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #40 0x00007ffff5faf6ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
          at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #41 0x00007ffff5fb86b3 in QCoreApplication::exec() () at /home/hag/qtdesignstudio-2.1.9_109/bin/../lib/Qt/lib/libQt5Core.so.5
      #42 0x000000000040bc09 in  ()
      #43 0x00007ffff57d40b3 in __libc_start_main (main=
          0x408c50, argc=1, argv=0x7fffffffdf28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdf18)
          at ../csu/libc-start.c:308
      #44 0x000000000040c11e in  ()
      

      Attachments

        For Gerrit Dashboard: QDS-4728
        # Subject Branch Project Status CR V

        Activity

          People

            henning Henning Gründl
            henning Henning Gründl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes