The QtWebengine docviewer backend causes a systematic crash on exit on Mac (Qt 5.8.0). 1- launch a KDevelop session 2- click on the "Documentation" toolbar button 3- open the proposed (QtHelp) documentation section 4- repeat 2) to close the view 4- exit After step 3) I see this on the calling terminal: js: Not allowed to load local resource: file:///var/folders/j1/1439ppj08xj8h6006s6drbq00000gs/T/kdevelop.N13700 (NB: that's the simple CSS the plugin tries to use) QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread QObject::startTimer: Timers can only be used with threads started with QThread js: Uncaught ReferenceError: mw is not defined js: Uncaught ReferenceError: mw is not defined QObject::startTimer: Timers can only be used with threads started with QThread backtrace below. The crash is deep in Qt but I haven't seen it with any other applications that use QWE. * thread #1, name = 'CrBrowserMain', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8) frame #0: QtWidgets`QWidget::~QWidget() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data() const at qscopedpointer.h:140 [opt] 137 138 T *data() const Q_DECL_NOTHROW 139 { -> 140 return d; 141 } 142 143 bool isNull() const Q_DECL_NOTHROW (lldb) bt * thread #1, name = 'CrBrowserMain', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8) * frame #0: QtWidgets`QWidget::~QWidget() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data() const at qscopedpointer.h:140 [opt] frame #1: QtWidgets`QWidget::~QWidget() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::pointer qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&) at qglobal.h:971 [opt] frame #2: QtWidgets`QWidget::~QWidget() [inlined] QWidget::d_func(this=0x0000000000000000) at qwidget.h:131 [opt] frame #3: QtWidgets`QWidget::~QWidget(this=0x00007fe35dc3abb0) at qwidget.cpp:1602 [opt] frame #4: QtWidgets`QWidget::~QWidget() [inlined] QWidget::~QWidget(this=0x00007fe35dc3abb0) at qwidget.cpp:1556 [opt] frame #5: QtWidgets`QWidget::~QWidget(this=0x00007fe35dc3abb0) at qwidget.cpp:1556 [opt] frame #6: QtCore`QObject::event(QEvent*) [inlined] qDeleteInEventHandler(o=0x00007fe35dc3abb0) at qobject.cpp:4557 [opt] frame #7: QtCore`QObject::event(this=0x00007fe35dc3abb0, e=<unavailable>) at qobject.cpp:1254 [opt] frame #8: QtWidgets`QWidget::event(this=0x00007fe35dc3abb0, event=0x00007fe35945b110) at qwidget.cpp:9220 [opt] frame #9: QtWidgets`QApplicationPrivate::notify_helper(this=<unavailable>, receiver=0x00007fe35dc3abb0, e=0x00007fe35945b110) at qapplication.cpp:3745 [opt] frame #10: QtWidgets`QApplication::notify(this=<unavailable>, receiver=<unavailable>, e=<unavailable>) at qapplication.cpp:3708 [opt] frame #11: QtCore`QCoreApplication::notifyInternal2(receiver=0x00007fe35dc3abb0, event=0x00007fe35945b110) at qcoreapplication.cpp:995 [opt] frame #12: QtCore`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000000000000, event_type=0, data=0x00007fe352515d40) at qcoreapplication.h:231 [opt] frame #13: QtQuick`QQuickRenderControl::~QQuickRenderControl() [inlined] QQuickRenderControlPrivate::windowDestroyed() at qquickrendercontrol.cpp:190 [opt] frame #14: QtQuick`QQuickRenderControl::~QQuickRenderControl(this=0x00007fe35b5465a0) at qquickrendercontrol.cpp:181 [opt] frame #15: QtQuickWidgets`QQuickWidgetRenderControl::~QQuickWidgetRenderControl() [inlined] QQuickWidgetRenderControl::~QQuickWidgetRenderControl(this=0x00007fe35b5465a0) at qquickwidget.cpp:83 [opt] frame #16: QtQuickWidgets`QQuickWidgetRenderControl::~QQuickWidgetRenderControl() [inlined] QQuickWidgetRenderControl::~QQuickWidgetRenderControl(this=0x00007fe35b5465a0) at qquickwidget.cpp:83 [opt] frame #17: QtQuickWidgets`QQuickWidgetRenderControl::~QQuickWidgetRenderControl(this=0x00007fe35b5465a0) at qquickwidget.cpp:83 [opt] frame #18: QtQuickWidgets`QQuickWidgetPrivate::~QQuickWidgetPrivate(this=0x00007fe356f0d420) at qquickwidget.cpp:212 [opt] frame #19: QtQuickWidgets`QQuickWidgetPrivate::~QQuickWidgetPrivate() [inlined] QQuickWidgetPrivate::~QQuickWidgetPrivate(this=0x00007fe356f0d420) at qquickwidget.cpp:202 [opt] frame #20: QtQuickWidgets`QQuickWidgetPrivate::~QQuickWidgetPrivate(this=0x00007fe356f0d420) at qquickwidget.cpp:202 [opt] frame #21: QtCore`QObject::~QObject() [inlined] QScopedPointerDeleter<QObjectData>::cleanup(pointer=<unavailable>) at qscopedpointer.h:60 [opt] frame #22: QtCore`QObject::~QObject() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() at qscopedpointer.h:107 [opt] frame #23: QtCore`QObject::~QObject() [inlined] QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() at qscopedpointer.h:105 [opt] frame #24: QtCore`QObject::~QObject(this=<unavailable>) at qobject.cpp:1049 [opt] frame #25: QtWidgets`QWidget::~QWidget(this=0x00007fe35d93d5a0) at qwidget.cpp:1714 [opt] frame #26: 0x0000000109db2fd1 QtWebEngineWidgets`non-virtual thunk to QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::~RenderWidgetHostViewQtDelegateWidget() + 193 frame #27: 0x0000000109e1eb59 QtWebEngineCore`QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt() + 361 frame #28: 0x0000000109e1ed1e QtWebEngineCore`QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt() + 14 frame #29: 0x000000010a4b9221 QtWebEngineCore`content::RenderWidgetHostImpl::Destroy(bool) + 113 frame #30: 0x000000010a4b4c1b QtWebEngineCore`content::RenderViewHostImpl::ShutdownAndDestroy() + 123 frame #31: 0x000000010a339d83 QtWebEngineCore`content::FrameTree::ReleaseRenderViewHostRef(content::RenderViewHostImpl*) + 355 frame #32: 0x000000010a34f5ad QtWebEngineCore`content::RenderFrameHostImpl::~RenderFrameHostImpl() + 685 frame #33: 0x000000010a34f9fe QtWebEngineCore`content::RenderFrameHostImpl::~RenderFrameHostImpl() + 14 frame #34: 0x000000010a361433 QtWebEngineCore`content::RenderFrameHostManager::~RenderFrameHostManager() + 275 frame #35: 0x000000010a33b9f9 QtWebEngineCore`content::FrameTreeNode::~FrameTreeNode() + 1129 frame #36: 0x000000010a338b5e QtWebEngineCore`content::FrameTree::~FrameTree() + 30 frame #37: 0x000000010a567762 QtWebEngineCore`content::WebContentsImpl::~WebContentsImpl() + 4050 frame #38: 0x000000010a5678ce QtWebEngineCore`content::WebContentsImpl::~WebContentsImpl() + 14 frame #39: 0x0000000109e3ac84 QtWebEngineCore`QtWebEngineCore::WebContentsAdapterPrivate::~WebContentsAdapterPrivate() + 36 frame #40: 0x0000000109e3bb1b QtWebEngineCore`QtWebEngineCore::WebContentsAdapter::~WebContentsAdapter() + 27 frame #41: 0x0000000109d9edad QtWebEngineWidgets`QWebEnginePagePrivate::~QWebEnginePagePrivate() + 157 frame #42: 0x0000000109d9edee QtWebEngineWidgets`QWebEnginePagePrivate::~QWebEnginePagePrivate() + 14 frame #43: 0x0000000109da0ee1 QtWebEngineWidgets`QWebEnginePage::~QWebEnginePage() + 49 frame #44: libKDevPlatformDocumentation.52.dylib`StandardDocumentationPage::~StandardDocumentationPage() [inlined] StandardDocumentationPage::~StandardDocumentationPage(this=0x00007fe359350ba0) at standarddocumentationview.cpp:54 [opt] frame #45: libKDevPlatformDocumentation.52.dylib`StandardDocumentationPage::~StandardDocumentationPage() [inlined] StandardDocumentationPage::~StandardDocumentationPage(this=0x00007fe359350ba0) at standarddocumentationview.cpp:54 [opt] frame #46: libKDevPlatformDocumentation.52.dylib`StandardDocumentationPage::~StandardDocumentationPage(this=0x00007fe359350ba0) at standarddocumentationview.cpp:54 [opt] frame #47: QtCore`QObjectPrivate::deleteChildren(this=0x00007fe35b70fb30) at qobject.cpp:1975 [opt] frame #48: QtWidgets`QWidget::~QWidget(this=0x00007fe35dc3abb0) at qwidget.cpp:1694 [opt] frame #49: libKDevPlatformDocumentation.52.dylib`KDevelop::StandardDocumentationView::~StandardDocumentationView() [inlined] KDevelop::StandardDocumentationView::~StandardDocumentationView(this=0x00007fe35dc3abb0) at standarddocumentationview.cpp:175 [opt] frame #50: libKDevPlatformDocumentation.52.dylib`KDevelop::StandardDocumentationView::~StandardDocumentationView() [inlined] KDevelop::StandardDocumentationView::~StandardDocumentationView(this=0x00007fe35dc3abb0) at standarddocumentationview.cpp:175 [opt] frame #51: libKDevPlatformDocumentation.52.dylib`KDevelop::StandardDocumentationView::~StandardDocumentationView(this=0x00007fe35dc3abb0) at standarddocumentationview.cpp:175 [opt] frame #52: QtCore`QObjectPrivate::deleteChildren(this=0x00007fe3587cdbd0) at qobject.cpp:1975 [opt] frame #53: QtWidgets`QWidget::~QWidget(this=0x00007fe358492a00) at qwidget.cpp:1694 [opt] frame #54: libKDevPlatformDocumentation.52.dylib`DocumentationView::~DocumentationView() [inlined] DocumentationView::~DocumentationView(this=<unavailable>) at documentationview.h:38 [opt] frame #55: libKDevPlatformDocumentation.52.dylib`DocumentationView::~DocumentationView() [inlined] DocumentationView::~DocumentationView(this=<unavailable>) at documentationview.h:38 [opt] frame #56: libKDevPlatformDocumentation.52.dylib`DocumentationView::~DocumentationView(this=0x00007fe358492a00) at documentationview.h:38 [opt] frame #57: QtCore`QObjectPrivate::deleteChildren(this=0x00007fe3587b9fa0) at qobject.cpp:1975 [opt] frame #58: QtWidgets`QWidget::~QWidget(this=0x00007fe358b26900) at qwidget.cpp:1694 [opt] frame #59: QtWidgets`QMainWindow::~QMainWindow() [inlined] QMainWindow::~QMainWindow(this=0x00007fe358b26900) at qmainwindow.cpp:410 [opt] frame #60: QtWidgets`QMainWindow::~QMainWindow() [inlined] QMainWindow::~QMainWindow(this=0x00007fe358b26900) at qmainwindow.cpp:410 [opt] frame #61: QtWidgets`QMainWindow::~QMainWindow(this=0x00007fe358b26900) at qmainwindow.cpp:410 [opt] frame #62: QtCore`QObjectPrivate::deleteChildren(this=0x00007fe3584874a0) at qobject.cpp:1975 [opt] frame #63: QtWidgets`QWidget::~QWidget(this=0x00007fe358462750) at qwidget.cpp:1694 [opt] frame #64: libKDevPlatformSublime.52.dylib`Sublime::IdealDockWidget::~IdealDockWidget() [inlined] Sublime::IdealDockWidget::~IdealDockWidget(this=0x00007fe358462750) at idealdockwidget.cpp:79 [opt] frame #65: libKDevPlatformSublime.52.dylib`Sublime::IdealDockWidget::~IdealDockWidget() [inlined] Sublime::IdealDockWidget::~IdealDockWidget(this=0x00007fe358462750) at idealdockwidget.cpp:78 [opt] frame #66: libKDevPlatformSublime.52.dylib`Sublime::IdealDockWidget::~IdealDockWidget(this=0x00007fe358462750) at idealdockwidget.cpp:78 [opt] frame #67: QtCore`QObjectPrivate::deleteChildren(this=0x00007fe3526997d0) at qobject.cpp:1975 [opt] frame #68: QtWidgets`QWidget::~QWidget(this=0x00007fe352696d90) at qwidget.cpp:1694 [opt] frame #69: libKDevPlatformSublime.52.dylib`Sublime::MainWindow::~MainWindow(this=0x00007fe352696d90, vtt=<unavailable>) at mainwindow.cpp:74 [opt] frame #70: libKDevPlatformShell.52.dylib`KDevelop::MainWindow::~MainWindow(this=0x00007fe352696d90, vtt=<unavailable>) at mainwindow.cpp:164 [opt] frame #71: libKDevPlatformShell.52.dylib`KDevelop::MainWindow::~MainWindow() [inlined] KDevelop::MainWindow::~MainWindow(this=0x00007fe352696d90) at mainwindow.cpp:157 [opt] frame #72: libKDevPlatformShell.52.dylib`KDevelop::MainWindow::~MainWindow(this=0x00007fe352696d90) at mainwindow.cpp:157 [opt] frame #73: QtCore`QObject::event(QEvent*) [inlined] qDeleteInEventHandler(o=0x00007fe352696d90) at qobject.cpp:4557 [opt] frame #74: QtCore`QObject::event(this=0x00007fe352696d90, e=<unavailable>) at qobject.cpp:1254 [opt] frame #75: QtWidgets`QWidget::event(this=0x00007fe352696d90, event=0x00007fe3586e31c0) at qwidget.cpp:9220 [opt] frame #76: QtWidgets`QMainWindow::event(this=0x00007fe352696d90, event=0x00007fe3586e31c0) at qmainwindow.cpp:1557 [opt] frame #77: libKF5XmlGui.5.dylib`KMainWindow::event(this=0x00007fe352696d90, ev=0x00007fe3586e31c0) at kmainwindow.cpp:865 [opt] frame #78: libKF5XmlGui.5.dylib`KXmlGuiWindow::event(this=0x00007fe352696d90, ev=0x00007fe3586e31c0) at kxmlguiwindow.cpp:119 [opt] frame #79: QtWidgets`QApplicationPrivate::notify_helper(this=<unavailable>, receiver=0x00007fe352696d90, e=0x00007fe3586e31c0) at qapplication.cpp:3745 [opt] frame #80: QtWidgets`QApplication::notify(this=<unavailable>, receiver=<unavailable>, e=<unavailable>) at qapplication.cpp:3708 [opt] frame #81: QtCore`QCoreApplication::notifyInternal2(receiver=0x00007fe352696d90, event=0x00007fe3586e31c0) at qcoreapplication.cpp:995 [opt] frame #82: QtCore`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000000000000, event_type=0, data=0x00007fe352515d40) at qcoreapplication.h:231 [opt] frame #83: QtCore`QCoreApplication::exec() at qcoreapplication.cpp:1289 [opt] frame #84: kdevelop.bin`main(argc=<unavailable>, argv=0x00007fff5de39c10) at main.cpp:919 [opt] frame #85: 0x00007fff906e25fd libdyld.dylib`start + 1
Thank you for reporting this issue in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version? If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!