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

QWidget::createWindowContainer: qquickview dead-locks on exit

    XMLWordPrintable

    Details

    • Commits:
      51a2bd8dfa15f52e2b45b3a0cc0135603a374200 (declarative/5.4, 23.9.2014, 5.4)

      Description

      trying to integrate a QQuickView into a cocoa application via QMacNativeWidget,
      i'm seeing a deadlock inside the destructor of QQuickView when terminating the application (e.g. via the menu bar).

      this simple reproduces adapts the qmacnativewidget example to include a QQuickView:

      (lldb) bt

      • thread #1: tid = 0x6f373, 0x00007fff93f62716 libsystem_kernel.dylib`__psynch_cvwait + 10, queue = 'com.apple.main-thread, stop reason = signal SIGSTOP
        frame #0: 0x00007fff93f62716 libsystem_kernel.dylib`__psynch_cvwait + 10
        frame #1: 0x00007fff8ce39c3b libsystem_pthread.dylib`_pthread_cond_wait + 727
        frame #2: 0x00000001009c1511 QtCore`QWaitConditionPrivate::wait(unsigned long) + 49
        frame #3: 0x00000001009c13ca QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 170
        frame #4: 0x000000010060db44 QtQml`QQmlThread::shutdown() + 116
        frame #5: 0x00000001005a0e8f QtQml`QQmlTypeLoader::~QQmlTypeLoader() + 31
        frame #6: 0x0000000100542b8a QtQml`QQmlEnginePrivate::~QQmlEnginePrivate() + 1946
        frame #7: 0x00000001005423ce QtQml`QQmlEnginePrivate::~QQmlEnginePrivate() + 14
        frame #8: 0x0000000100bd1334 QtCore`QObject::~QObject() + 1748
        frame #9: 0x00000001005448b2 QtQml`QQmlEngine::~QQmlEngine() + 386
        frame #10: 0x000000010054470e QtQml`QQmlEngine::~QQmlEngine() + 14
        frame #11: 0x0000000100bd150e QtCore`QObjectPrivate::deleteChildren() + 110
        frame #12: 0x0000000100bd1314 QtCore`QObject::~QObject() + 1716
        frame #13: 0x0000000100fa7a7c QtGui`QWindow::~QWindow() + 140
        frame #14: 0x0000000100161f67 QtQuick`QQuickView::~QQuickView() + 151
        frame #15: 0x0000000100161e7e QtQuick`QQuickView::~QQuickView() + 14
        frame #16: 0x0000000100bd150e QtCore`QObjectPrivate::deleteChildren() + 110
        frame #17: 0x0000000100bd1314 QtCore`QObject::~QObject() + 1716
        frame #18: 0x0000000100fa7a7c QtGui`QWindow::~QWindow() + 140
        frame #19: 0x000000010149051b QtWidgets`QWidgetWindow::~QWidgetWindow() + 139
        frame #20: 0x000000010149043e QtWidgets`QWidgetWindow::~QWidgetWindow() + 14
        frame #21: 0x000000010148dcd3 QtWidgets`QWidgetPrivate::deleteTLSysExtra() + 83
        frame #22: 0x000000010148db28 QtWidgets`QWidget::destroy(bool, bool) + 888
        frame #23: 0x00000001014375fe QtWidgets`QApplication::~QApplication() + 270
        frame #24: 0x00000001014374ce QtWidgets`QApplication::~QApplication() + 14
        frame #25: 0x0000000100005789 qmacnativewidget`-[WindowCreator applicationWillTerminate:](self=0x0000000101c05a30, _cmd=0x00007fff8f762d67, notification=0x0000000101c23000) + 57 at main.mm:107
        frame #26: 0x00007fff92966dec CoreFoundation`_invoking__ + 140
        frame #27: 0x00007fff92966c54 CoreFoundation`-[NSInvocation invoke] + 308
        frame #28: 0x00007fff92a097a6 CoreFoundation`-[NSInvocation invokeWithTarget:] + 54
        frame #29: 0x00007fff929d9384 CoreFoundation`__forwarding__ + 452
        frame #30: 0x00007fff929d9138 CoreFoundation`_CF_forwarding_prep_0 + 120
        frame #31: 0x00007fff92a49fcc CoreFoundation`_CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER_ + 12
        frame #32: 0x00007fff9293dc5d CoreFoundation`_CFXNotificationPost + 2893
        frame #33: 0x00007fff908f44aa Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 68
        frame #34: 0x00007fff897c23e4 AppKit`-[NSApplication terminate:] + 1604
        frame #35: 0x00007fff8976d3d0 AppKit`-[NSApplication sendAction:to:from:] + 327
        frame #36: 0x00007fff89788348 AppKit`-[NSMenuItem _corePerformAction] + 394
        frame #37: 0x00007fff89788084 AppKit`-[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 117
        frame #38: 0x00007fff897d74dd AppKit`-[NSMenu _internalPerformActionForItemAtIndex:] + 35
        frame #39: 0x00007fff897d7359 AppKit`-[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 104
        frame #40: 0x00007fff8977e176 AppKit`NSSLMMenuEventHandler + 716
        frame #41: 0x00007fff8dadb6d4 HIToolbox`DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 892
        frame #42: 0x00007fff8dadac87 HIToolbox`SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 385
        frame #43: 0x00007fff8daeed90 HIToolbox`SendEventToEventTarget + 40
        frame #44: 0x00007fff8db24a30 HIToolbox`SendHICommandEvent(unsigned int, HICommand const*, unsigned int, unsigned int, unsigned char, void const*, OpaqueEventTargetRef*, OpaqueEventTargetRef*, OpaqueEventRef**) + 420
        frame #45: 0x00007fff8db57618 HIToolbox`SendMenuCommandWithContextAndModifiers + 59
        frame #46: 0x00007fff8db575c4 HIToolbox`SendMenuItemSelectedEvent + 178
        frame #47: 0x00007fff8db574a5 HIToolbox`FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) + 94
        frame #48: 0x00007fff8db5f425 HIToolbox`MenuSelectCore(MenuData*, Point, double, unsigned int, OpaqueMenuRef*, unsigned short) + 718
        frame #49: 0x00007fff8db5f051 HIToolbox`_HandleMenuSelection2 + 446
        frame #50: 0x00007fff896f079c AppKit`_NSHandleCarbonMenuEvent + 284
        frame #51: 0x00007fff8954f56e AppKit`_DPSNextEvent + 2170
        frame #52: 0x00007fff8954e8db AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
        frame #53: 0x00007fff895429cc AppKit`-[NSApplication run] + 553
        frame #54: 0x00007fff8952d803 AppKit`NSApplicationMain + 940
        frame #55: 0x000000010000584b qmacnativewidget`main(argc=1, argv=0x00007fff5fbffb00) + 187 at main.mm:127
        frame #56: 0x0000000100005284 qmacnativewidget`start + 52

      i'm running qt-5.2 on osx-10.9

        Attachments

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

          Activity

            People

            Assignee:
            shausman Simon Hausmann
            Reporter:
            timblechmann tim blechmann
            Votes:
            1 Vote for this issue
            Watchers:
            15 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes