Details
-
Bug
-
Resolution: Invalid
-
P2: Important
-
None
-
5.8.0, 5.9.3
-
None
-
macOS 10.12
Qt 5.9.3
Creator 4.5-ish (between rc1 and release) 8bc3ac9177e6f8f05c2c64a400d244a5cc82aa0a
Description
Below is a backtrace of the kind of crash I've been seeing on exit (on Mac), in applications that use QWE to view QtHelp documentation. Here it's the latest QtCreator, but a similar crash happens in KDevelop (they're not systematic).
I'm not sure it's related, but I find that this latest Qt Creator build doesn't exit when I use the Quit menu command. The main window closes, but the help viewer window remains open and I have to repeat to Quit command several times.
The actual bug is a failure to verify that d->focus_next is still valid (the underlying reason may be a QWidget* that is being deleted twice).
Application: Qt Creator (Qt Creator), signal: Segmentation fault: 11 (lldb) process attach --pid 72134 Process 72134 stopped Executable module set to "/Applications/MacPorts/Qt5/Qt-Creator.app/Contents/MacOS/Qt Creator". Architecture set to: x86_64-apple-macosx. (lldb) set term-width 200 (lldb) thread info thread #1: tid = 0x2bd700d, 0x00007fff8fb78e20 libsystem_kernel.dylib`__wait4 + 8, name = 'CrBrowserMain', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP (lldb) bt all * thread #1: tid = 0x2bd700d, 0x00007fff8fb78e20 libsystem_kernel.dylib`__wait4 + 8, name = 'CrBrowserMain', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP * frame #0: 0x00007fff8fb78e20 libsystem_kernel.dylib`__wait4 + 8 frame #1: 0x0000000110da4cde libKF5Crash.5.dylib`KCrash::startProcess(int, char const**, bool) [inlined] startProcessInternal(argc=<unavailable>, directly=<unavailable>) + 125 at kcrash.cpp:651 frame #2: 0x0000000110da4c61 libKF5Crash.5.dylib`KCrash::startProcess(argc=<unavailable>, argv=<unavailable>, waitAndExit=<unavailable>) + 17 at kcrash.cpp:633 frame #3: 0x0000000110da4aa5 libKF5Crash.5.dylib`KCrash::defaultCrashHandler(sig=11) + 1061 at kcrash.cpp:530 frame #4: 0x00007fff929405aa libsystem_platform.dylib`_sigtramp + 26 frame #5: 0x00000001067a6561 QtWidgets`QWidget::~QWidget() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data() const + 1 at qscopedpointer.h:140 frame #6: 0x00000001067a6560 QtWidgets`QWidget::~QWidget() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::pointer qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&) at qglobal.h:971 frame #7: 0x00000001067a6560 QtWidgets`QWidget::~QWidget() [inlined] QWidget::d_func(this=0x0000000000000000) at qwidget.h:131 frame #8: 0x00000001067a6560 QtWidgets`QWidget::~QWidget(this=0x00007fe7e8a4b9d0) + 464 at qwidget.cpp:1602 frame #9: 0x00000001067a703e QtWidgets`QWidget::~QWidget() [inlined] QWidget::~QWidget(this=0x00007fe7e8a4b9d0) + 14 at qwidget.cpp:1556 frame #10: 0x00000001067a7039 QtWidgets`QWidget::~QWidget(this=0x00007fe7e8a4b9d0) + 9 at qwidget.cpp:1556 frame #11: 0x000000010778f878 QtCore`QObject::event(QEvent*) [inlined] qDeleteInEventHandler(o=0x00007fe7e8a4b9d0) + 14 at qobject.cpp:4557 frame #12: 0x000000010778f86a QtCore`QObject::event(this=0x00007fe7e8a4b9d0, e=<unavailable>) + 826 at qobject.cpp:1254 frame #13: 0x00000001067b7927 QtWidgets`QWidget::event(this=0x00007fe7e8a4b9d0, event=0x00007fe7e2e2f9e0) + 3495 at qwidget.cpp:9220 frame #14: 0x0000000106775a6d QtWidgets`QApplicationPrivate::notify_helper(this=<unavailable>, receiver=0x00007fe7e8a4b9d0, e=0x00007fe7e2e2f9e0) + 269 at qapplication.cpp:3745 frame #15: 0x0000000106778de2 QtWidgets`QApplication::notify(this=<unavailable>, receiver=<unavailable>, e=<unavailable>) + 8306 at qapplication.cpp:3708 frame #16: 0x0000000107766717 QtCore`QCoreApplication::notifyInternal2(receiver=0x00007fe7e8a4b9d0, event=0x00007fe7e2e2f9e0) + 167 at qcoreapplication.cpp:995 frame #17: 0x00000001077673ef QtCore`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000000000000, event_type=0, data=0x00007fe7d9d16800) + 591 at qcoreapplication.h:231 frame #18: 0x000000011ba65fd5 QtQuick`QQuickRenderControl::~QQuickRenderControl() [inlined] QQuickRenderControlPrivate::windowDestroyed() + 25 at qquickrendercontrol.cpp:190 frame #19: 0x000000011ba65fbc QtQuick`QQuickRenderControl::~QQuickRenderControl(this=0x00007fe7e8a75cc0) + 108 at qquickrendercontrol.cpp:181 frame #20: 0x000000011bf5265e QtQuickWidgets`QQuickWidgetRenderControl::~QQuickWidgetRenderControl() [inlined] QQuickWidgetRenderControl::~QQuickWidgetRenderControl(this=0x00007fe7e8a75cc0) + 14 at qquickwidget.cpp:83 frame #21: 0x000000011bf52659 QtQuickWidgets`QQuickWidgetRenderControl::~QQuickWidgetRenderControl() [inlined] QQuickWidgetRenderControl::~QQuickWidgetRenderControl(this=0x00007fe7e8a75cc0) at qquickwidget.cpp:83 frame #22: 0x000000011bf52659 QtQuickWidgets`QQuickWidgetRenderControl::~QQuickWidgetRenderControl(this=0x00007fe7e8a75cc0) + 9 at qquickwidget.cpp:83 frame #23: 0x000000011bf4d622 QtQuickWidgets`QQuickWidgetPrivate::~QQuickWidgetPrivate(this=0x00007fe7e8a75a30) + 162 at qquickwidget.cpp:212 frame #24: 0x000000011bf4d7ce QtQuickWidgets`QQuickWidgetPrivate::~QQuickWidgetPrivate() [inlined] QQuickWidgetPrivate::~QQuickWidgetPrivate(this=0x00007fe7e8a75a30) + 14 at qquickwidget.cpp:202 frame #25: 0x000000011bf4d7c9 QtQuickWidgets`QQuickWidgetPrivate::~QQuickWidgetPrivate(this=0x00007fe7e8a75a30) + 9 at qquickwidget.cpp:202 frame #26: 0x000000010778ec41 QtCore`QObject::~QObject() [inlined] QScopedPointerDeleter<QObjectData>::cleanup(pointer=<unavailable>) + 2049 at qscopedpointer.h:60 frame #27: 0x000000010778ec36 QtCore`QObject::~QObject() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() + 4 at qscopedpointer.h:107 frame #28: 0x000000010778ec32 QtCore`QObject::~QObject() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() at qscopedpointer.h:105 frame #29: 0x000000010778ec32 QtCore`QObject::~QObject(this=<unavailable>) + 2034 at qobject.cpp:1049 frame #30: 0x00000001067a6870 QtWidgets`QWidget::~QWidget(this=0x00007fe7e8a74200) + 1248 at qwidget.cpp:1714 frame #31: 0x0000000114b32fd1 QtWebEngineWidgets`non-virtual thunk to QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::~RenderWidgetHostViewQtDelegateWidget() + 193 frame #32: 0x0000000114b9cb59 QtWebEngineCore`QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt() + 361 frame #33: 0x0000000114b9cd1e QtWebEngineCore`QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt() + 14 frame #34: 0x0000000115237221 QtWebEngineCore`content::RenderWidgetHostImpl::Destroy(bool) + 113 frame #35: 0x0000000115232c1b QtWebEngineCore`content::RenderViewHostImpl::ShutdownAndDestroy() + 123 frame #36: 0x00000001150b7d83 QtWebEngineCore`content::FrameTree::ReleaseRenderViewHostRef(content::RenderViewHostImpl*) + 355 frame #37: 0x00000001150cd5ad QtWebEngineCore`content::RenderFrameHostImpl::~RenderFrameHostImpl() + 685 frame #38: 0x00000001150cd9fe QtWebEngineCore`content::RenderFrameHostImpl::~RenderFrameHostImpl() + 14 frame #39: 0x00000001150df433 QtWebEngineCore`content::RenderFrameHostManager::~RenderFrameHostManager() + 275 frame #40: 0x00000001150b99f9 QtWebEngineCore`content::FrameTreeNode::~FrameTreeNode() + 1129 frame #41: 0x00000001150b6b5e QtWebEngineCore`content::FrameTree::~FrameTree() + 30 frame #42: 0x00000001152e5762 QtWebEngineCore`content::WebContentsImpl::~WebContentsImpl() + 4050 frame #43: 0x00000001152e58ce QtWebEngineCore`content::WebContentsImpl::~WebContentsImpl() + 14 frame #44: 0x0000000114bb8c84 QtWebEngineCore`QtWebEngineCore::WebContentsAdapterPrivate::~WebContentsAdapterPrivate() + 36 frame #45: 0x0000000114bb9b1b QtWebEngineCore`QtWebEngineCore::WebContentsAdapter::~WebContentsAdapter() + 27 frame #46: 0x0000000114b1edad QtWebEngineWidgets`QWebEnginePagePrivate::~QWebEnginePagePrivate() + 157 frame #47: 0x0000000114b1edee QtWebEngineWidgets`QWebEnginePagePrivate::~QWebEnginePagePrivate() + 14 frame #48: 0x0000000114b20ee1 QtWebEngineWidgets`QWebEnginePage::~QWebEnginePage() + 49 frame #49: 0x0000000114a93dee libHelp.dylib`Help::Internal::WebEngineHelpPage::~WebEngineHelpPage() + 14 frame #50: 0x000000010778ee53 QtCore`QObjectPrivate::deleteChildren(this=0x00007fe7e8a6f240) + 243 at qobject.cpp:1975 frame #51: 0x00000001067a67fd QtWidgets`QWidget::~QWidget(this=0x00007fe7e8a6f240) + 1133 at qwidget.cpp:1694 frame #52: 0x0000000114aa706e libHelp.dylib`Help::Internal::WebEngineHelpViewer::~WebEngineHelpViewer() + 14 frame #53: 0x000000010778ee53 QtCore`QObjectPrivate::deleteChildren(this=0x00007fe7e8a346f0) + 243 at qobject.cpp:1975 frame #54: 0x00000001067a67fd QtWidgets`QWidget::~QWidget(this=0x00007fe7e8a346f0) + 1133 at qwidget.cpp:1694 frame #55: 0x0000000106918b7e QtWidgets`QStackedWidget::~QStackedWidget() [inlined] QStackedWidget::~QStackedWidget(this=0x00007fe7e8a4bae0) + 14 at qstackedwidget.cpp:149 frame #56: 0x0000000106918b79 QtWidgets`QStackedWidget::~QStackedWidget() [inlined] QStackedWidget::~QStackedWidget(this=0x00007fe7e8a4bae0) at qstackedwidget.cpp:148 frame #57: 0x0000000106918b79 QtWidgets`QStackedWidget::~QStackedWidget(this=0x00007fe7e8a4bae0) + 9 at qstackedwidget.cpp:148 frame #58: 0x000000010778ee53 QtCore`QObjectPrivate::deleteChildren(this=0x00007fe7e8a3c500) + 243 at qobject.cpp:1975 frame #59: 0x00000001067a67fd QtWidgets`QWidget::~QWidget(this=0x00007fe7e8a3c500) + 1133 at qwidget.cpp:1694 frame #60: 0x00000001067a703e QtWidgets`QWidget::~QWidget() [inlined] QWidget::~QWidget(this=0x00007fe7e8974880) + 14 at qwidget.cpp:1556 frame #61: 0x00000001067a7039 QtWidgets`QWidget::~QWidget(this=0x00007fe7e8974880) + 9 at qwidget.cpp:1556 frame #62: 0x000000010778ee53 QtCore`QObjectPrivate::deleteChildren(this=0x00007fe7e8989d20) + 243 at qobject.cpp:1975 frame #63: 0x00000001067a67fd QtWidgets`QWidget::~QWidget(this=0x00007fe7e8989d20) + 1133 at qwidget.cpp:1694 frame #64: 0x00000001115cbdee libCore.dylib`Core::MiniSplitter::~MiniSplitter() + 14 frame #65: 0x000000010778ee53 QtCore`QObjectPrivate::deleteChildren(this=0x00007fe7e8a3b840) + 243 at qobject.cpp:1975 frame #66: 0x00000001067a67fd QtWidgets`QWidget::~QWidget(this=0x00007fe7e8a3b840) + 1133 at qwidget.cpp:1694 frame #67: 0x0000000114a8fdeb libHelp.dylib`Help::Internal::HelpWidget::~HelpWidget() + 859 frame #68: 0x0000000114a8feee libHelp.dylib`Help::Internal::HelpWidget::~HelpWidget() + 14 frame #69: 0x0000000114a76eef libHelp.dylib`Help::Internal::HelpPlugin::aboutToShutdown() + 47 frame #70: 0x0000000106501fb8 libExtensionSystem.4.5.82.dylib`ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) + 680 frame #71: 0x0000000106501c20 libExtensionSystem.4.5.82.dylib`ExtensionSystem::Internal::PluginManagerPrivate::stopAll() + 224 frame #72: 0x00000001064fb537 libExtensionSystem.4.5.82.dylib`ExtensionSystem::Internal::PluginManagerPrivate::shutdown() + 23 frame #73: 0x0000000107796fab QtCore`QMetaObject::activate(QObject*, int, int, void**) [inlined] QtPrivate::QSlotObjectBase::call(this=<unavailable>, r=<unavailable>, a=<unavailable>) + 2011 at qobject_impl.h:101 frame #74: 0x0000000107796f8f QtCore`QMetaObject::activate(sender=0x00007fff598ba988, signalOffset=<unavailable>, local_signal_index=<unavailable>, argv=<unavailable>) + 1983 at qobject.cpp:3728 frame #75: 0x0000000107766e32 QtCore`QCoreApplication::exec() [inlined] QCoreApplicationPrivate::q_func(this=<unavailable>) + 402 at qcoreapplication_p.h:72 frame #76: 0x0000000107766e29 QtCore`QCoreApplication::exec() [inlined] QCoreApplicationPrivate::execCleanup(this=<unavailable>, this=0x00007fe7d9d16dc0) + 24 at qcoreapplication.cpp:1288 frame #77: 0x0000000107766e11 QtCore`QCoreApplication::exec() + 369 at qcoreapplication.cpp:1272 frame #78: 0x00000001063504b9 Qt Creator`main + 15353 frame #79: 0x00007fff906e25fd libdyld.dylib`start + 1
Attachments
Issue Links
- relates to
-
QTCREATORBUG-19582 Crash when exiting Qt Creator after opening external help windows
- Closed
-
QTBUG-62596 Qt::WA_QuitOnClose has no effect if QQuickWigdet is a child of QWidget
- Reported
-
QTBUG-58982 Demobrowser crash when closing second window via Ctrl+W shortcut
- Closed