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

Crash, if SplitView have only 1 item and changing visibility

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.13.1, 5.14.0
    • Fix Version/s: 5.14.0 RC1
    • Component/s: Quick: Controls 2
    • Labels:
      None
    • Commits:
      da7f7af244e5f1f61ef7060b62b2e5c8d240701f (qt/qtquickcontrols2/5.13)

      Description

      Steps to reproduce:

      1. Create SplitView Qt Quick Controls 2 version, and one item in it.

      2. Change split view or item visibility to false

       

      I attached qml code and video.

      Callstack:

      1   __pthread_kill                                                                           (x86_64) /usr/lib/system/libsystem_kernel.dylib       0x7fff68d0e47a 
      2   pthread_kill                                                                             (x86_64) /usr/lib/system/libsystem_pthread.dylib      0x7fff68dcb707 
      3   abort                                                                                    (x86_64) /usr/lib/system/libsystem_c.dylib            0x7fff68c96a08 
      4   qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&)                   qlogging.cpp                                     1907 0x101d60d28    
      5   QMessageLogger::fatal(const char *, ...) const                                           qlogging.cpp                                     888  0x101d631ee    
      6   qt_assert_x(const char *, const char *, const char *, int)                               qglobal.cpp                                      3269 0x101d5796d    
      7   QVector<QQuickItem *>::at(int) const                                                     qvector.h                                        440  0x10276dc28    
      8   QQuickSplitViewPrivate::itemVisibilityChanged(QQuickItem *)                              qquicksplitview.cpp                              1019 0x102770f06    
      9   QQuickItemPrivate::itemChange(QQuickItem::ItemChange, QQuickItem::ItemChangeData const&) qquickitem.cpp                                   6264 0x100315401    
      10  QQuickItemPrivate::setEffectiveVisibleRecur(bool)                                        qquickitem.cpp                                   6020 0x100314b23    
      11  QQuickItemPrivate::setEffectiveVisibleRecur(bool)                                        qquickitem.cpp                                   6018 0x100314ac6    
      12  QQuickItemPrivate::setEffectiveVisibleRecur(bool)                                        qquickitem.cpp                                   6018 0x100314ac6    
      13  QQuickItemPrivate::setVisible(bool)                                                      qquickitem.cpp                                   5921 0x10031fbf0    
      14  QQuickItem::setVisible(bool)                                                             qquickitem.cpp                                   5929 0x10031fc72    
      15  QQuickItem::qt_static_metacall(QObject *, QMetaObject::Call, int, void * *)              moc_qquickitem.cpp                               965  0x100328b88    
      16  QQuickItem::qt_metacall(QMetaObject::Call, int, void * *)                                moc_qquickitem.cpp                               1038 0x100329459    
      17  QQuickControl::qt_metacall(QMetaObject::Call, int, void * *)                             moc_qquickcontrol_p.cpp                          745  0x1027a8503    
      18  QQuickContainer::qt_metacall(QMetaObject::Call, int, void * *)                           moc_qquickcontainer_p.cpp                        365  0x102705fd3    
      19  QQuickSplitView::qt_metacall(QMetaObject::Call, int, void * *)                           moc_qquicksplitview_p.cpp                        198  0x1027753f3    
      20  QMetaObject::metacall(QObject *, QMetaObject::Call, int, void * *)                       qmetaobject.cpp                                  309  0x10206ba5d    
      ... <More>                                                                                                                                                        
      
      

       

      Full callstack of release version

      System Integrity Protection: enabled
      
      Crashed Thread:        0  Dispatch queue: com.apple.main-thread
      
      Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
      Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000020
      Exception Note:        EXC_CORPSE_NOTIFY
      
      Termination Signal:    Segmentation fault: 11
      Termination Reason:    Namespace SIGNAL, Code 0xb
      Terminating Process:   exc handler [95079]
      
      VM Regions Near 0x20:
      --> 
          __TEXT                 000000010f9f7000-000000010fa26000 [  188K] r-x/rwx SM=COW  /Users/USER/*/gallery.app/Contents/MacOS/gallery
      
      Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
      0   org.qt-project.QtQuick        	0x000000010fb6c184 QQuickItem::setVisible(bool) + 4
      1   org.qt-project.QtQuickTemplates2	0x0000000110fa2033 QQuickSplitViewPrivate::itemVisibilityChanged(QQuickItem*) + 643
      2   org.qt-project.QtQuick        	0x000000010fb63322 QQuickItemPrivate::itemChange(QQuickItem::ItemChange, QQuickItem::ItemChangeData const&) + 1682
      3   org.qt-project.QtQuick        	0x000000010fb6297b QQuickItemPrivate::setEffectiveVisibleRecur(bool) + 667
      4   org.qt-project.QtQuick        	0x000000010fb62938 QQuickItemPrivate::setEffectiveVisibleRecur(bool) + 600
      5   org.qt-project.QtQuick        	0x000000010fb62938 QQuickItemPrivate::setEffectiveVisibleRecur(bool) + 600
      6   org.qt-project.QtQuick        	0x000000010fb6c14f QQuickItemPrivate::setVisible(bool) + 319
      7   org.qt-project.QtQuick        	0x000000010fb74d07 QQuickItem::qt_metacall(QMetaObject::Call, int, void**) + 71
      8   org.qt-project.QtQuickTemplates2	0x0000000110fca458 QQuickControl::qt_metacall(QMetaObject::Call, int, void**) + 24
      9   org.qt-project.QtQuickTemplates2	0x0000000110f51668 QQuickContainer::qt_metacall(QMetaObject::Call, int, void**) + 24
      10  org.qt-project.QtQuickTemplates2	0x0000000110fa78a8 QQuickSplitView::qt_metacall(QMetaObject::Call, int, void**) + 24
      11  org.qt-project.QtQml          	0x00000001105a777c QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlContextData*, QFlags<QQmlPropertyData::WriteFlag>) + 1260
      12  org.qt-project.QtQml          	0x00000001104d3726 QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*, QV4::Value const&) + 3158
      13  org.qt-project.QtQml          	0x00000001104d496e QV4::QObjectWrapper::virtualPut(QV4::Managed*, QV4::PropertyKey, QV4::Value const&, QV4::Value*) + 414
      14  org.qt-project.QtQml          	0x00000001104a8ae3 QV4::Object::virtualResolveLookupSetter(QV4::Object*, QV4::ExecutionEngine*, QV4::Lookup*, QV4::Value const&) + 355
      15  org.qt-project.QtQml          	0x00000001104ee9fb QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) + 2683
      16  org.qt-project.QtQml          	0x00000001104ede5b QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) + 139
      17  org.qt-project.QtQml          	0x00000001104963b6 QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) + 342
      18  org.qt-project.QtQml          	0x00000001106100f5 QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) + 597
      19  org.qt-project.QtQml          	0x00000001105b707a QQmlBoundSignalExpression::evaluate(void**) + 1162
      20  org.qt-project.QtQml          	0x00000001105b784b QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) + 427
      21  org.qt-project.QtQml          	0x00000001105f6c45 QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) + 581
      22  org.qt-project.QtCore         	0x0000000110b5492f QMetaObject::activate(QObject*, int, int, void**) + 127
      23  org.qt-project.QtQuickTemplates2	0x0000000110f39e4c QQuickAbstractButtonPrivate::handleRelease(QPointF const&) + 620
      24  org.qt-project.QtQuickTemplates2	0x0000000110f5a18a QQuickControl::mouseReleaseEvent(QMouseEvent*) + 26
      25  org.qt-project.QtQuick        	0x000000010fb6fed5 QQuickItem::event(QEvent*) + 133
      26  org.qt-project.QtCore         	0x0000000110b24068 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) + 88
      27  org.qt-project.QtCore         	0x0000000110b23cc4 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
      28  org.qt-project.QtQuick        	0x000000010fb88736 QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) + 614
      29  org.qt-project.QtQuick        	0x000000010fb8a2f8 QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) + 88
      30  org.qt-project.QtQuick        	0x000000010fb8af1d QQuickWindowPrivate::handleMouseEvent(QMouseEvent*) + 1453
      31  org.qt-project.QtGui          	0x000000010feaad8e QWindow::event(QEvent*) + 190
      32  org.qt-project.QtQuick        	0x000000010fb865e1 QQuickWindow::event(QEvent*) + 833
      33  org.qt-project.QtCore         	0x0000000110b24068 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) + 88
      34  org.qt-project.QtCore         	0x0000000110b23cc4 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
      35  org.qt-project.QtGui          	0x000000010fe9b835 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 3397
      36  org.qt-project.QtGui          	0x000000010fe82dab QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 219
      37  libqcocoa.dylib               	0x0000000113e2a010 QCocoaEventDispatcherPrivate::processPostedEvents() + 320
      38  libqcocoa.dylib               	0x0000000113e2a778 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 40
      39  com.apple.CoreFoundation      	0x00007fff318dda21 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
      40  com.apple.CoreFoundation      	0x00007fff318dd9c0 __CFRunLoopDoSource0 + 103
      41  com.apple.CoreFoundation      	0x00007fff318c0f84 __CFRunLoopDoSources0 + 209
      42  com.apple.CoreFoundation      	0x00007fff318c0590 __CFRunLoopRun + 1272
      43  com.apple.CoreFoundation      	0x00007fff318bfe13 CFRunLoopRunSpecific + 499
      44  com.apple.HIToolbox           	0x00007fff3044cb2d RunCurrentEventLoopInMode + 292
      45  com.apple.HIToolbox           	0x00007fff3044c779 ReceiveNextEventCommon + 356
      46  com.apple.HIToolbox           	0x00007fff3044c5f7 _BlockUntilNextEventMatchingListInModeWithFilter + 64
      47  com.apple.AppKit              	0x00007fff2eae2ac4 _DPSNextEvent + 990
      48  com.apple.AppKit              	0x00007fff2eae1834 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
      49  com.apple.AppKit              	0x00007fff2eadbfd4 -[NSApplication run] + 658
      50  libqcocoa.dylib               	0x0000000113e294f3 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2579
      51  org.qt-project.QtCore         	0x0000000110b1f13f QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431
      52  org.qt-project.QtCore         	0x0000000110b242d2 QCoreApplication::exec() + 130
      
      

       

        Attachments

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

          Activity

            People

            • Assignee:
              mitch_curtis Mitch Curtis
              Reporter:
              freed Igor Bugaev
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes