Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfaults with Qt 5.8 #2261

Closed
The-Compiler opened this issue Jan 29, 2017 · 11 comments
Closed

Segfaults with Qt 5.8 #2261

The-Compiler opened this issue Jan 29, 2017 · 11 comments
Labels
component: tests Issues related to the testsuite. priority: 0 - high Issues which are currently the primary focus.

Comments

@The-Compiler
Copy link
Member

With Qt 5.8, there are various new weird segfaults when running the unittests...

@The-Compiler The-Compiler added component: tests Issues related to the testsuite. priority: 0 - high Issues which are currently the primary focus. labels Jan 29, 2017
@The-Compiler
Copy link
Member Author

Just got one on exit with --temp-basedir --backend webengine which looks similar from the stacktrace to one I've seen during the tests:

#0  0x00007f63456bef5f in raise () at /usr/lib/libpthread.so.0
#1  0x00007f63456bf080 in <signal handler called> () at /usr/lib/libpthread.so.0
#2  0x00007f63382f050f in QWidget::~QWidget() (this=0x2cc8370, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1602
#3  0x00007f63382f09b9 in QWidget::~QWidget() (this=0x2cc8370, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1714
#4  0x00007f634329b881 in QObjectPrivate::deleteChildren() (this=this@entry=0x2be37d0) at kernel/qobject.cpp:1970
#5  0x00007f63382f06cb in QWidget::~QWidget() (this=0x2be48b0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1694
#6  0x00007f633843e199 in QStackedWidget::~QStackedWidget() (this=0x2be48b0, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:149
#7  0x00007f634329b881 in QObjectPrivate::deleteChildren() (this=this@entry=0x2be35c0) at kernel/qobject.cpp:1970
#8  0x00007f63382f06cb in QWidget::~QWidget() (this=0x2be3550, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1694
#9  0x00007f6338d1ce7c in sipQTabWidget::~sipQTabWidget() (this=0x2be3550, __in_chrg=<optimized out>) at sipQtWidgetsQTabWidget.cpp:318
#10 0x00007f6338d1ce9e in sipQTabWidget::~sipQTabWidget() (this=0x2be3550, __in_chrg=<optimized out>) at sipQtWidgetsQTabWidget.cpp:321
#11 0x00007f634329b881 in QObjectPrivate::deleteChildren() (this=this@entry=0x2b6ac80) at kernel/qobject.cpp:1970
#12 0x00007f63382f06cb in QWidget::~QWidget() (this=0x2b656a0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1694
#13 0x00007f6338aeb366 in sipQWidget::~sipQWidget() (this=0x2b656a0, __in_chrg=<optimized out>) at sipQtWidgetsQWidget.cpp:347
#14 0x00007f6338aeb388 in sipQWidget::~sipQWidget() (this=0x2b656a0, __in_chrg=<optimized out>) at sipQtWidgetsQWidget.cpp:350
#15 0x00007f634329e050 in QObject::event(QEvent*) (this=this@entry=0x2b656a0, e=e@entry=0x498c3c0) at kernel/qobject.cpp:1254
#16 0x00007f63382f4f5b in QWidget::event(QEvent*) (this=0x2b656a0, event=0x498c3c0) at kernel/qwidget.cpp:9220
#17 0x00007f6338aecbd2 in sipQWidget::event(QEvent*) (this=0x2b656a0, a0=0x498c3c0) at sipQtWidgetsQWidget.cpp:1054
#18 0x00007f63382ad3dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x2b656a0, e=0x498c3c0) at kernel/qapplication.cpp:3745
#19 0x00007f63382b4bf1 in QApplication::notify(QObject*, QEvent*) (this=0x250f7a0, receiver=0x2b656a0, e=0x498c3c0) at kernel/qapplication.cpp:3502
#20 0x00007f6338b2bbfe in sipQApplication::notify(QObject*, QEvent*) (this=0x250f7a0, a0=0x2b656a0, a1=0x498c3c0) at sipQtWidgetsQApplication.cpp:232
#21 0x00007f63432718b0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x2b656a0, event=event@entry=0x498c3c0) at kernel/qcoreapplication.cpp:988
#22 0x00007f634327403d in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x498c3c0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#23 0x00007f634327403d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=52, data=0x25697e0) at kernel/qcoreapplication.cpp:1648
#24 0x00007f632d8e6584 in  () at /usr/lib/libQt5Quick.so.5
#25 0x00007f632d8e6800 in QQuickRenderControl::~QQuickRenderControl() () at /usr/lib/libQt5Quick.so.5
#26 0x00007f632c40c383 in  () at /usr/lib/libQt5QuickWidgets.so.5
#27 0x00007f632c40afd3 in  () at /usr/lib/libQt5QuickWidgets.so.5
#28 0x00007f632c40b059 in  () at /usr/lib/libQt5QuickWidgets.so.5
#29 0x00007f63432a5227 in QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60
#30 0x00007f63432a5227 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (this=0x2cdaca8, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
#31 0x00007f63432a5227 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:900
#32 0x00007f63382f0743 in QWidget::~QWidget() (this=0x2cdaca0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1555
#33 0x00007f63336fc50a in QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::~RenderWidgetHostViewQtDelegateWidget() (this=0x2cdaca0, __in_chrg=<optimized out>) at .moc/../../../../qtwebengine-opensource-src-5.8.0/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h:51
#34 0x00007f63336fc50a in QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::~RenderWidgetHostViewQtDelegateWidget() (this=0x2cdaca0, __in_chrg=<optimized out>) at .moc/../../../../qtwebengine-opensource-src-5.8.0/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h:51
#35 0x00007f632e34eadb in std::default_delete<QtWebEngineCore::RenderWidgetHostViewQtDelegate>::operator()(QtWebEngineCore::RenderWidgetHostViewQtDelegate*) const (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/6.3.1/bits/unique_ptr.h:76
#36 0x00007f632e34eadb in std::unique_ptr<QtWebEngineCore::RenderWidgetHostViewQtDelegate, std::default_delete<QtWebEngineCore::RenderWidgetHostViewQtDelegate> >::~unique_ptr() (this=0x2cdb1e0, __in_chrg=<optimized out>) at /usr/include/c++/6.3.1/bits/unique_ptr.h:239
#37 0x00007f632e34eadb in QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt() (this=0x2cdadd0, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/render_widget_host_view_qt.cpp:255
#38 0x00007f632e34ec69 in QtWebEngineCore::RenderWidgetHostViewQt::~RenderWidgetHostViewQt() (this=0x2cdadd0, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/render_widget_host_view_qt.cpp:261
#39 0x00007f632eb3875f in content::RenderWidgetHostImpl::Destroy(bool) (this=0x2cd4ed0, also_delete=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_impl.cc:1435
#40 0x00007f632eb38ca2 in content::RenderWidgetHostImpl::ShutdownAndDestroyWidget(bool) (this=<optimized out>, also_delete=also_delete@entry=false) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/renderer_host/render_widget_host_impl.cc:432
#41 0x00007f632eb2b683 in content::RenderViewHostImpl::ShutdownAndDestroy() (this=0x2cd3220) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/renderer_host/render_view_host_impl.cc:885
#42 0x00007f632ecce41e in content::FrameTree::ReleaseRenderViewHostRef(content::RenderViewHostImpl*) (this=<optimized out>, render_view_host=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/frame_tree.cc:353
#43 0x00007f632eaa7ccd in content::RenderFrameHostImpl::~RenderFrameHostImpl() (this=0x2cd6f10, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/render_frame_host_impl.cc:338
#44 0x00007f632eaa8169 in content::RenderFrameHostImpl::~RenderFrameHostImpl() (this=0x2cd6f10, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/render_frame_host_impl.cc:339
#45 0x00007f632eaae35d in std::default_delete<content::RenderFrameHostImpl>::operator()(content::RenderFrameHostImpl*) const (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/6.3.1/bits/unique_ptr.h:76
#46 0x00007f632eaae35d in std::unique_ptr<content::RenderFrameHostImpl, std::default_delete<content::RenderFrameHostImpl> >::~unique_ptr() (this=0x7ffe424e32c0, __in_chrg=<optimized out>) at /usr/include/c++/6.3.1/bits/unique_ptr.h:239
#47 0x00007f632eaae35d in content::RenderFrameHostManager::~RenderFrameHostManager() (this=0x2ccbde0, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/render_frame_host_manager.cc:83
#48 0x00007f632ecd0aeb in content::FrameTreeNode::~FrameTreeNode() (this=0x2ccbdd0, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/frame_tree_node.cc:122
#49 0x00007f632eccc31a in content::FrameTree::~FrameTree() (this=0x2ccb6d0, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/frame_tree.cc:113
#50 0x00007f632ebcd2b4 in content::WebContentsImpl::~WebContentsImpl() (this=0x2ccb490, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:436
#51 0x00007f632ebcd639 in content::WebContentsImpl::~WebContentsImpl() (this=0x2ccb490, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:523
#52 0x00007f632e36b6ce in std::default_delete<content::WebContents>::operator()(content::WebContents*) const (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/6.3.1/bits/unique_ptr.h:76
#53 0x00007f632e36b6ce in std::unique_ptr<content::WebContents, std::default_delete<content::WebContents> >::reset(content::WebContents*) (__p=<optimized out>, this=0x2ccae58) at /usr/include/c++/6.3.1/bits/unique_ptr.h:347
#54 0x00007f632e36b6ce in QtWebEngineCore::WebContentsAdapterPrivate::~WebContentsAdapterPrivate() (this=0x2ccae40, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/web_contents_adapter.cpp:348
#55 0x00007f632e36b92a in QScopedPointerDeleter<QtWebEngineCore::WebContentsAdapterPrivate>::cleanup(QtWebEngineCore::WebContentsAdapterPrivate*) (pointer=0x2ccae40) at /usr/include/qt/QtCore/qscopedpointer.h:60
#56 0x00007f632e36b92a in QScopedPointer<QtWebEngineCore::WebContentsAdapterPrivate, QScopedPointerDeleter<QtWebEngineCore::WebContentsAdapterPrivate> >::~QScopedPointer() (this=0x2ccae30, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:107
#57 0x00007f632e36b92a in QtWebEngineCore::WebContentsAdapter::~WebContentsAdapter() (this=0x2ccae20, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/web_contents_adapter.cpp:387
#58 0x00007f63336ee586 in QtSharedPointer::ExternalRefCountData::destroy() (this=0x2ccae10) at /usr/include/qt/QtCore/qsharedpointer_impl.h:157
#59 0x00007f63336ee586 in QSharedPointer<QtWebEngineCore::WebContentsAdapter>::deref(QtSharedPointer::ExternalRefCountData*) (dd=0x2ccae10) at /usr/include/qt/QtCore/qsharedpointer_impl.h:458
#60 0x00007f63336ee586 in QSharedPointer<QtWebEngineCore::WebContentsAdapter>::deref() (this=0x2ccac60) at /usr/include/qt/QtCore/qsharedpointer_impl.h:453
#61 0x00007f63336ee586 in QSharedPointer<QtWebEngineCore::WebContentsAdapter>::~QSharedPointer() (this=0x2ccac60, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:312
#62 0x00007f63336ee586 in QWebEnginePagePrivate::~QWebEnginePagePrivate() (this=0x2ccac50, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/webenginewidgets/api/qwebenginepage.cpp:237
#63 0x00007f63336ee599 in QWebEnginePagePrivate::~QWebEnginePagePrivate() (this=0x2ccac50, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/webenginewidgets/api/qwebenginepage.cpp:241
#64 0x00007f63336e8cd0 in QScopedPointerDeleter<QWebEnginePagePrivate>::cleanup(QWebEnginePagePrivate*) (pointer=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:60
#65 0x00007f63336e8cd0 in QScopedPointer<QWebEnginePagePrivate, QScopedPointerDeleter<QWebEnginePagePrivate> >::~QScopedPointer() (this=0x2cca0b0, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:107
#66 0x00007f63336e8cd0 in QWebEnginePage::~QWebEnginePage() (this=0x2cca0a0, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/webenginewidgets/api/qwebenginepage.cpp:802
#67 0x00007f633391e0da in sipQWebEnginePage::~sipQWebEnginePage() (this=0x2cca0a0, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEnginePage.cpp:196
#68 0x00007f633391e0f6 in sipQWebEnginePage::~sipQWebEnginePage() (this=0x2cca0a0, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEnginePage.cpp:199
#69 0x00007f634329b881 in QObjectPrivate::deleteChildren() (this=this@entry=0x2cc9de0) at kernel/qobject.cpp:1970
#70 0x00007f63382f06cb in QWidget::~QWidget() (this=0x2cc9d60, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1694
#71 0x00007f633392a67e in sipQWebEngineView::~sipQWebEngineView() (this=0x2cc9d60, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEngineView.cpp:326
#72 0x00007f633392a6a0 in sipQWebEngineView::~sipQWebEngineView() (this=0x2cc9d60, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEngineView.cpp:329
#73 0x00007f634329b881 in QObjectPrivate::deleteChildren() (this=this@entry=0x2cc71a0) at kernel/qobject.cpp:1970
#74 0x00007f63382f06cb in QWidget::~QWidget() (this=0x2cc8370, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1694
#75 0x00007f6338aeb366 in sipQWidget::~sipQWidget() (this=0x2cc8370, __in_chrg=<optimized out>) at sipQtWidgetsQWidget.cpp:347
#76 0x00007f6338aeb388 in sipQWidget::~sipQWidget() (this=0x2cc8370, __in_chrg=<optimized out>) at sipQtWidgetsQWidget.cpp:350
#77 0x00007f634329e050 in QObject::event(QEvent*) (this=this@entry=0x2cc8370, e=e@entry=0x49c6920) at kernel/qobject.cpp:1254
#78 0x00007f63382f4f5b in QWidget::event(QEvent*) (this=0x2cc8370, event=0x49c6920) at kernel/qwidget.cpp:9220
#79 0x00007f6338aecbd2 in sipQWidget::event(QEvent*) (this=0x2cc8370, a0=0x49c6920) at sipQtWidgetsQWidget.cpp:1054
#80 0x00007f63382ad3dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x2cc8370, e=0x49c6920) at kernel/qapplication.cpp:3745
#81 0x00007f63382b4bf1 in QApplication::notify(QObject*, QEvent*) (this=0x250f7a0, receiver=0x2cc8370, e=0x49c6920) at kernel/qapplication.cpp:3502
#82 0x00007f6338b2bbfe in sipQApplication::notify(QObject*, QEvent*) (this=0x250f7a0, a0=0x2cc8370, a1=0x49c6920) at sipQtWidgetsQApplication.cpp:232
#83 0x00007f63432718b0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x2cc8370, event=event@entry=0x49c6920) at kernel/qcoreapplication.cpp:988
#84 0x00007f634327403d in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x49c6920, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#85 0x00007f634327403d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x25697e0) at kernel/qcoreapplication.cpp:1648
#86 0x00007f63432744a8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1502
#87 0x00007f63432c60b3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x276fe00) at kernel/qeventdispatcher_glib.cpp:276
#88 0x00007f633fb45587 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#89 0x00007f633fb457f0 in  () at /usr/lib/libglib-2.0.so.0
#90 0x00007f633fb4589c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#91 0x00007f63432c64bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x27711f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#92 0x00007f634326fd0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe424e3dc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#93 0x00007f6343278254 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1261
#94 0x00007f6338b2e4a1 in meth_QApplication_exec_(PyObject*, PyObject*) (sipArgs=0x7f6345a78048) at sipQtWidgetsQApplication.cpp:1506
#95 0x00007f6344f0991f in _PyCFunction_FastCallDict () at /usr/lib/libpython3.6m.so.1.0
#96 0x00007f6344f18a0f in  () at /usr/lib/libpython3.6m.so.1.0
#97 0x00007f6344ed4d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#98 0x00007f6344f1853a in  () at /usr/lib/libpython3.6m.so.1.0
#99 0x00007f6344f18af3 in  () at /usr/lib/libpython3.6m.so.1.0
#100 0x00007f6344ed4d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#101 0x00007f6344f1853a in  () at /usr/lib/libpython3.6m.so.1.0
#102 0x00007f6344f18af3 in  () at /usr/lib/libpython3.6m.so.1.0
#103 0x00007f6344ed4d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#104 0x00007f6344f1853a in  () at /usr/lib/libpython3.6m.so.1.0
#105 0x00007f6344f18af3 in  () at /usr/lib/libpython3.6m.so.1.0
#106 0x00007f6344ed4d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#107 0x00007f6344f18f47 in PyEval_EvalCodeEx () at /usr/lib/libpython3.6m.so.1.0
#108 0x00007f6344ed4a5b in PyEval_EvalCode () at /usr/lib/libpython3.6m.so.1.0
#109 0x00007f6344ecc871 in  () at /usr/lib/libpython3.6m.so.1.0
#110 0x00007f6344f0991f in _PyCFunction_FastCallDict () at /usr/lib/libpython3.6m.so.1.0
#111 0x00007f6344f18a0f in  () at /usr/lib/libpython3.6m.so.1.0
#112 0x00007f6344ed4d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#113 0x00007f6344f17291 in  () at /usr/lib/libpython3.6m.so.1.0
#114 0x00007f6344f1878a in  () at /usr/lib/libpython3.6m.so.1.0
#115 0x00007f6344f18af3 in  () at /usr/lib/libpython3.6m.so.1.0
#116 0x00007f6344ed4d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#117 0x00007f6344f18f47 in PyEval_EvalCodeEx () at /usr/lib/libpython3.6m.so.1.0
#118 0x00007f6344f33838 in  () at /usr/lib/libpython3.6m.so.1.0
#119 0x00007f6344f6e91b in PyObject_Call () at /usr/lib/libpython3.6m.so.1.0
#120 0x00007f6344f94cbd in  () at /usr/lib/libpython3.6m.so.1.0
#121 0x00007f6344f953aa in Py_Main () at /usr/lib/libpython3.6m.so.1.0
#122 0x0000000000400a5d in main ()

If I'm not mistaken, that's here in ~QWidget

    // Remove myself from focus list

    Q_ASSERT(d->focus_next->d_func()->focus_prev == this);
    Q_ASSERT(d->focus_prev->d_func()->focus_next == this);

    if (d->focus_next != this) {
        d->focus_next->d_func()->focus_prev = d->focus_prev;   // <-----
        d->focus_prev->d_func()->focus_next = d->focus_next;
        d->focus_next = d->focus_prev = 0;
    }

@The-Compiler The-Compiler changed the title Segfaults in tests with Qt 5.8 Segfaults with Qt 5.8 Jan 29, 2017
@The-Compiler
Copy link
Member Author

Looks like this always happens when closing a window...

This helps, but probably introduces a memory leak:

diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py
index 6d46abbf8..c801c3cdf 100644
--- a/qutebrowser/mainwindow/tabbedbrowser.py
+++ b/qutebrowser/mainwindow/tabbedbrowser.py
@@ -279,7 +279,7 @@ class TabbedBrowser(tabwidget.TabWidget):
             urlutils.invalid_url_error(tab.url(), "saving tab")
         tab.shutdown()
         self.removeTab(idx)
-        tab.deleteLater()
+        # tab.deleteLater()
 
     def undo(self):
         """Undo removing of a tab."""

@The-Compiler
Copy link
Member Author

This also helps for the window closing, but not for the tests:

diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py
index 6d46abbf8..0cdb5eff9 100644
--- a/qutebrowser/mainwindow/tabbedbrowser.py
+++ b/qutebrowser/mainwindow/tabbedbrowser.py
@@ -279,6 +279,7 @@ class TabbedBrowser(tabwidget.TabWidget):
             urlutils.invalid_url_error(tab.url(), "saving tab")
         tab.shutdown()
         self.removeTab(idx)
+        tab.layout().unwrap()
         tab.deleteLater()
 
     def undo(self):
diff --git a/qutebrowser/misc/miscwidgets.py b/qutebrowser/misc/miscwidgets.py
index ba21e541a..5d5dff7c8 100644
--- a/qutebrowser/misc/miscwidgets.py
+++ b/qutebrowser/misc/miscwidgets.py
@@ -260,3 +260,6 @@ class WrapperLayout(QLayout):
         self._widget = widget
         container.setFocusProxy(widget)
         widget.setParent(container)
+
+    def unwrap(self):
+        self._widget.setParent(None)
+        self._widget.deleteLater()

pushing this as a temporary fix now.

The-Compiler added a commit that referenced this issue Jan 29, 2017
@TrilbyWhite
Copy link

FYI, in case it's related, I was getting segfaults on every exit with backend=webengine with 5.8 and the qutebrowser package from archlinux's [community]. I don't get these segfaults with a new git build, so I didn't dig much deeper. This came up on the archlinux forums

I spotted this issue while checking whether their were open issues on my lack of cookie saving problem (which I'll open an issue for momentarily if there are none yet).

@The-Compiler
Copy link
Member Author

@TrilbyWhite yeah, that's probably because of the temporary fix in 90f472b.

A probably unrelated one, when closing a tab:

#0  0x00007f44423c2f5f in raise () at /usr/lib/libpthread.so.0
#1  0x00007f44423c3080 in <signal handler called> () at /usr/lib/libpthread.so.0
#2  0x00007f44304fce75 in QHash<unsigned long long, QtWebEngineCore::CallbackDirectory::CallbackSharedDataPointerBase*>::duplicateNode(QHashData::Node*, void*) (node=0x20000, newNode=0x2803d20) at /usr/include/qt/QtCore/qhash.h:541
#3  0x00007f443fdf1497 in QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (this=0x11f1dfe0, node_duplicate=node_duplicate@entry=
    0x7f44304fce70 <QHash<unsigned long long, QtWebEngineCore::CallbackDirectory::CallbackSharedDataPointerBase*>::duplicateNode(QHashData::Node*, void*)>, node_delete=node_delete@entry=0x7f44304fce60 <QHash<unsigned long long, QtWebEngineCore::CallbackDirectory::CallbackSharedDataPointerBase*>::deleteNode2(QHashData::Node*)>, nodeSize=nodeSize@entry=32, nodeAlign=nodeAlign@entry=8) at tools/qhash.cpp:559
#4  0x00007f44304fd71a in QHash<unsigned long long, QtWebEngineCore::CallbackDirectory::CallbackSharedDataPointerBase*>::detach_helper() (this=this@entry=0x162384a8) at /usr/include/qt/QtCore/qhash.h:585
#5  0x00007f44304fd999 in QHash<unsigned long long, QtWebEngineCore::CallbackDirectory::CallbackSharedDataPointerBase*>::detach() (this=0x162384a8) at /usr/include/qt/QtCore/qhash.h:273
#6  0x00007f44304fd999 in QHash<unsigned long long, QtWebEngineCore::CallbackDirectory::CallbackSharedDataPointerBase*>::take(unsigned long long const&) (this=0x162384a8, akey=@0x7fffbf42a300: 8, akey@entry=@0x7fffbf42a300: <optimized out>) at /usr/include/qt/QtCore/qhash.h:812
#7  0x00007f44304fba6f in QtWebEngineCore::CallbackDirectory::invokeInternal<bool>(unsigned long long, bool) (result=<optimized out>, callbackId=<optimized out>, this=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/api/qwebenginecallback_p.h:167
#8  0x00007f44304fba6f in QtWebEngineCore::CallbackDirectory::invoke(unsigned long long, bool) (result=<optimized out>, callbackId=<optimized out>, this=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/api/qwebenginecallback_p.h:113
#9  0x00007f44304fba6f in QWebEnginePagePrivate::didFindText(unsigned long long, int) (this=<optimized out>, requestId=<optimized out>, matchCount=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/webenginewidgets/api/qwebenginepage.cpp:475
#10 0x00007f442b9cf758 in content::WebContentsImpl::NotifyFindReply(int, int, gfx::Rect const&, int, bool) (this=<optimized out>, request_id=<optimized out>, number_of_matches=<optimized out>, selection_rect=..., active_match_ordinal=<optimized out>, final_update=<optimized out>)
    at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:5081
#11 0x00007f442bad0c28 in content::FindRequestManager::NotifyFindReply(int, bool) const (this=this@entry=0x22bab30, request_id=<optimized out>, final_update=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/find_request_manager.cc:416
#12 0x00007f442bad327b in content::FindRequestManager::NotifyFindReply(int, bool) const (final_update=<optimized out>, request_id=<optimized out>, this=0x22bab30) at /usr/include/c++/6.3.1/bits/hashtable.h:512
#13 0x00007f442bad327b in content::FindRequestManager::RemoveFrame(content::RenderFrameHost*) (this=0x22bab30, rfh=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/find_request_manager.cc:252
#14 0x00007f442b9d3eec in content::WebContentsImpl::OnFrameRemoved(content::RenderFrameHost*) (this=<optimized out>, render_frame_host=0x27ea1a0) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:5024
#15 0x00007f442bad8a1a in base::Callback<void (content::RenderFrameHost*), (base::internal::CopyMode)1>::Run(content::RenderFrameHost*) const (args#0=<optimized out>, this=0x12a3eec8) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/base/callback.h:389
#16 0x00007f442bad8a1a in content::FrameTree::FrameRemoved(content::FrameTreeNode*) (this=0x12a3ee60, frame=frame@entry=0x18b19830) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/frame_tree.cc:370
#17 0x00007f442badc952 in content::FrameTreeNode::~FrameTreeNode() (this=0x18b19830, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/frame_tree_node.cc:124
#18 0x00007f442badd0f8 in std::default_delete<content::FrameTreeNode>::operator()(content::FrameTreeNode*) const (this=<optimized out>, __ptr=0x18b19830) at /usr/include/c++/6.3.1/bits/unique_ptr.h:76
#19 0x00007f442badd0f8 in std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >::~unique_ptr() (this=0x1e3ce40, __in_chrg=<optimized out>) at /usr/include/c++/6.3.1/bits/unique_ptr.h:239
#20 0x00007f442badd0f8 in std::_Destroy<std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> > >(std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*) (__pointer=<optimized out>) at /usr/include/c++/6.3.1/bits/stl_construct.h:93
#21 0x00007f442badd0f8 in std::_Destroy_aux<false>::__destroy<std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*>(std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*, std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*) (__last=<optimized out>, __first=0x1e3ce40) at /usr/include/c++/6.3.1/bits/stl_construct.h:103
#22 0x00007f442badd0f8 in std::_Destroy<std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*>(std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*, std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*) (__last=<optimized out>, __first=<optimized out>) at /usr/include/c++/6.3.1/bits/stl_construct.h:126
#23 0x00007f442badd0f8 in std::_Destroy<std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*, std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> > >(std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*, std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >*, std::allocator<std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> > >&) (__last=0x1e3ce58, __first=0x1e3ce40) at /usr/include/c++/6.3.1/bits/stl_construct.h:151
#24 0x00007f442badd0f8 in std::vector<std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> >, std::allocator<std::unique_ptr<content::FrameTreeNode, std::default_delete<content::FrameTreeNode> > > >::~vector() (this=<optimized out>, __in_chrg=<optimized out>)
    at /usr/include/c++/6.3.1/bits/stl_vector.h:426
#25 0x00007f442badd0f8 in content::FrameTreeNode::ResetForNewProcess() (this=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/frame_host/frame_tree_node.cc:190
#26 0x00007f442b9d8efa in content::WebContentsImpl::~WebContentsImpl() (this=0x12a3ec20, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:468
#27 0x00007f442b9d9639 in content::WebContentsImpl::~WebContentsImpl() (this=0x12a3ec20, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/3rdparty/chromium/content/browser/web_contents/web_contents_impl.cc:523
#28 0x00007f442b1776ce in std::default_delete<content::WebContents>::operator()(content::WebContents*) const (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/6.3.1/bits/unique_ptr.h:76
#29 0x00007f442b1776ce in std::unique_ptr<content::WebContents, std::default_delete<content::WebContents> >::reset(content::WebContents*) (__p=<optimized out>, this=0x1201af48) at /usr/include/c++/6.3.1/bits/unique_ptr.h:347
#30 0x00007f442b1776ce in QtWebEngineCore::WebContentsAdapterPrivate::~WebContentsAdapterPrivate() (this=0x1201af30, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/web_contents_adapter.cpp:348
#31 0x00007f442b17792a in QScopedPointerDeleter<QtWebEngineCore::WebContentsAdapterPrivate>::cleanup(QtWebEngineCore::WebContentsAdapterPrivate*) (pointer=0x1201af30) at /usr/include/qt/QtCore/qscopedpointer.h:60
#32 0x00007f442b17792a in QScopedPointer<QtWebEngineCore::WebContentsAdapterPrivate, QScopedPointerDeleter<QtWebEngineCore::WebContentsAdapterPrivate> >::~QScopedPointer() (this=0x3e3bde0, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:107
#33 0x00007f442b17792a in QtWebEngineCore::WebContentsAdapter::~WebContentsAdapter() (this=0x3e3bdd0, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/core/web_contents_adapter.cpp:387
#34 0x00007f44304fa586 in QtSharedPointer::ExternalRefCountData::destroy() (this=0x3e3bdc0) at /usr/include/qt/QtCore/qsharedpointer_impl.h:157
#35 0x00007f44304fa586 in QSharedPointer<QtWebEngineCore::WebContentsAdapter>::deref(QtSharedPointer::ExternalRefCountData*) (dd=0x3e3bdc0) at /usr/include/qt/QtCore/qsharedpointer_impl.h:458
#36 0x00007f44304fa586 in QSharedPointer<QtWebEngineCore::WebContentsAdapter>::deref() (this=0x16238420) at /usr/include/qt/QtCore/qsharedpointer_impl.h:453
#37 0x00007f44304fa586 in QSharedPointer<QtWebEngineCore::WebContentsAdapter>::~QSharedPointer() (this=0x16238420, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:312
#38 0x00007f44304fa586 in QWebEnginePagePrivate::~QWebEnginePagePrivate() (this=0x16238410, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/webenginewidgets/api/qwebenginepage.cpp:237
#39 0x00007f44304fa599 in QWebEnginePagePrivate::~QWebEnginePagePrivate() (this=0x16238410, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/webenginewidgets/api/qwebenginepage.cpp:241
#40 0x00007f44304f4cd0 in QScopedPointerDeleter<QWebEnginePagePrivate>::cleanup(QWebEnginePagePrivate*) (pointer=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:60
#41 0x00007f44304f4cd0 in QScopedPointer<QWebEnginePagePrivate, QScopedPointerDeleter<QWebEnginePagePrivate> >::~QScopedPointer() (this=0x28ca5a0, __in_chrg=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:107
#42 0x00007f44304f4cd0 in QWebEnginePage::~QWebEnginePage() (this=0x28ca590, __in_chrg=<optimized out>) at /tmp/makepkg/qt5-webengine-debug/src/qtwebengine-opensource-src-5.8.0/src/webenginewidgets/api/qwebenginepage.cpp:802
#43 0x00007f443072a0da in sipQWebEnginePage::~sipQWebEnginePage() (this=0x28ca590, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEnginePage.cpp:196
#44 0x00007f443072a0f6 in sipQWebEnginePage::~sipQWebEnginePage() (this=0x28ca590, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEnginePage.cpp:199
#45 0x00007f443ff9f881 in QObjectPrivate::deleteChildren() (this=this@entry=0x5dc5ed0) at kernel/qobject.cpp:1970
#46 0x00007f44344856cb in QWidget::~QWidget() (this=0x12010770, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1694
#47 0x00007f443073667e in sipQWebEngineView::~sipQWebEngineView() (this=0x12010770, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEngineView.cpp:326
#48 0x00007f44307366a0 in sipQWebEngineView::~sipQWebEngineView() (this=0x12010770, __in_chrg=<optimized out>) at sipQtWebEngineWidgetsQWebEngineView.cpp:329
#49 0x00007f443ffa2050 in QObject::event(QEvent*) (this=this@entry=0x12010770, e=e@entry=0x12940690) at kernel/qobject.cpp:1254
#50 0x00007f4434489f5b in QWidget::event(QEvent*) (this=0x12010770, event=0x12940690) at kernel/qwidget.cpp:9220
#51 0x00007f4430736c8a in sipQWebEngineView::event(QEvent*) (this=0x12010770, a0=0x12940690) at sipQtWebEngineWidgetsQWebEngineView.cpp:484
#52 0x00007f44344423dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x12010770, e=0x12940690) at kernel/qapplication.cpp:3745
#53 0x00007f4434449bf1 in QApplication::notify(QObject*, QEvent*) (this=0x1bfb670, receiver=0x12010770, e=0x12940690) at kernel/qapplication.cpp:3502
#54 0x00007f4434cc0bfe in sipQApplication::notify(QObject*, QEvent*) (this=0x1bfb670, a0=0x12010770, a1=0x12940690) at sipQtWidgetsQApplication.cpp:232
#55 0x00007f443ff758b0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x12010770, event=event@entry=0x12940690) at kernel/qcoreapplication.cpp:988
#56 0x00007f443ff7803d in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x12940690, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#57 0x00007f443ff7803d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1d876e0) at kernel/qcoreapplication.cpp:1648
#58 0x00007f443ff784a8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1502
#59 0x00007f443ffca0b3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x1fa2670) at kernel/qeventdispatcher_glib.cpp:276
#60 0x00007f443c849587 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#61 0x00007f443c8497f0 in  () at /usr/lib/libglib-2.0.so.0
#62 0x00007f443c84989c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#63 0x00007f443ffca4bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x1faf8d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#64 0x00007f443ff73d0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffbf42b0d0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#65 0x00007f443ff7c254 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1261
#66 0x00007f4434cc34a1 in meth_QApplication_exec_(PyObject*, PyObject*) (sipArgs=0x7f444277c048) at sipQtWidgetsQApplication.cpp:1506
#67 0x00007f4441c0d91f in _PyCFunction_FastCallDict () at /usr/lib/libpython3.6m.so.1.0
#68 0x00007f4441c1ca0f in  () at /usr/lib/libpython3.6m.so.1.0
#69 0x00007f4441bd8d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#70 0x00007f4441c1c53a in  () at /usr/lib/libpython3.6m.so.1.0
#71 0x00007f4441c1caf3 in  () at /usr/lib/libpython3.6m.so.1.0
#72 0x00007f4441bd8d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#73 0x00007f4441c1c53a in  () at /usr/lib/libpython3.6m.so.1.0
#74 0x00007f4441c1caf3 in  () at /usr/lib/libpython3.6m.so.1.0
#75 0x00007f4441bd8d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#76 0x00007f4441c1c53a in  () at /usr/lib/libpython3.6m.so.1.0
#77 0x00007f4441c1caf3 in  () at /usr/lib/libpython3.6m.so.1.0
#78 0x00007f4441bd8d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#79 0x00007f4441c1cf47 in PyEval_EvalCodeEx () at /usr/lib/libpython3.6m.so.1.0
#80 0x00007f4441bd8a5b in PyEval_EvalCode () at /usr/lib/libpython3.6m.so.1.0
---Type <return> to continue, or q <return> to quit---
#81 0x00007f4441bd0871 in  () at /usr/lib/libpython3.6m.so.1.0
#82 0x00007f4441c0d91f in _PyCFunction_FastCallDict () at /usr/lib/libpython3.6m.so.1.0
#83 0x00007f4441c1ca0f in  () at /usr/lib/libpython3.6m.so.1.0
#84 0x00007f4441bd8d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#85 0x00007f4441c1b291 in  () at /usr/lib/libpython3.6m.so.1.0
#86 0x00007f4441c1c78a in  () at /usr/lib/libpython3.6m.so.1.0
#87 0x00007f4441c1caf3 in  () at /usr/lib/libpython3.6m.so.1.0
#88 0x00007f4441bd8d77 in _PyEval_EvalFrameDefault () at /usr/lib/libpython3.6m.so.1.0
#89 0x00007f4441c1cf47 in PyEval_EvalCodeEx () at /usr/lib/libpython3.6m.so.1.0
#90 0x00007f4441c37838 in  () at /usr/lib/libpython3.6m.so.1.0
#91 0x00007f4441c7291b in PyObject_Call () at /usr/lib/libpython3.6m.so.1.0
#92 0x00007f4441c98cbd in  () at /usr/lib/libpython3.6m.so.1.0
#93 0x00007f4441c993aa in Py_Main () at /usr/lib/libpython3.6m.so.1.0
#94 0x0000000000400a5d in main ()

@The-Compiler
Copy link
Member Author

The latter definitely is a Qt bug - reported as QTBUG-58563 and added a workaround in bb46c01

The-Compiler added a commit that referenced this issue Feb 1, 2017
This now also causes segfaults with Qt 5.8, so something is definitely wrong
here...

See #1638 and #2261
@The-Compiler
Copy link
Member Author

At least one segfault I saw during the tests is probably #1638 again - I disabled test_tab unconditionally now, let's see how that goes.

@The-Compiler
Copy link
Member Author

Should all be fixed now!

@The-Compiler
Copy link
Member Author

Upstream bug for the first one: QTBUG-58982

@peterhoeg
Copy link

Regarding the segfault, according to backintime, their issue was related to a race condition:

bit-team/backintime@1d63ced

As far as I can remember this was a race condition between defining QIcon and creating the first QWidget. Changing the order did the trick

@The-Compiler
Copy link
Member Author

This doesn't look related I think - there are many reasons why PyQt can segfault on exit. But thanks anyways!

The-Compiler added a commit that referenced this issue Jun 22, 2020
Qt 5.8 support was removed in April 2018 with
69a58c9, and the last crash report I got with
Qt 5.8 was in the same month.

The workaround removed in this commit still were around, and despite of what
the version check says, they are *not* needed with Qt 5.7.

Those were workarounds for the following bugs:

- https://bugreports.qt.io/browse/QTBUG-58698
  (#2290, 1af951f)

- https://bugreports.qt.io/browse/QTBUG-58982
  (#2261, 90f472b)

See #3608
The-Compiler added a commit that referenced this issue Jun 23, 2020
Some tests (e.g. in test_invocations.py) still seem to segfault without this.
This partially reverts 87d7dd9.

See #2261
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: tests Issues related to the testsuite. priority: 0 - high Issues which are currently the primary focus.
Projects
None yet
Development

No branches or pull requests

3 participants