Bug 390446 - All Qt-based applications crash when connecting an external display
Summary: All Qt-based applications crash when connecting an external display
Status: RESOLVED UPSTREAM
Alias: None
Product: krunner
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Kai Uwe Broulik
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-02-14 11:54 UTC by Aleix Pol
Modified: 2018-02-14 23:50 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleix Pol 2018-02-14 11:54:06 UTC
Application: krunner (5.12.80)
 (Compiled from sources)
Qt Version: 5.10.1
Frameworks Version: 5.43.0
Operating System: Linux 4.15.3-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
They crash, and then everything runs smoothly, but they shouldn't crash. ^^'

It's a Qt wayland integration crash, if I run the applications with the xcb backend, they don't crash.

The crash can be reproduced every time.

-- Backtrace:
Application: krunner (krunner), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f646f74adc0 (LWP 607))]

Thread 3 (Thread 0x7f6452fc2700 (LWP 657)):
#0  0x00007f646ad2197b in poll () from /usr/lib/libc.so.6
#1  0x00007f6462f7cff3 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f6462f7d10e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f646bbc9fdb in QEventDispatcherGlib::processEvents (this=0x7f644c000b20, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f646bb6da7a in QEventLoop::exec (this=this@entry=0x7f6452fc1d40, flags=..., flags@entry=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:212
#5  0x00007f646b98367a in QThread::exec (this=this@entry=0x55ef7dc69090) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread.cpp:522
#6  0x00007f646e234ef5 in QQmlThreadPrivate::run (this=0x55ef7dc69090) at /home/apol/devel/frameworks/qt5/qtdeclarative/src/qml/qml/ftw/qqmlthread.cpp:147
#7  0x00007f646b98884f in QThreadPrivate::start (arg=0x55ef7dc69090) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:376
#8  0x00007f64674d408c in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f646ad2be7f in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f645b532700 (LWP 640)):
#0  0x00007f646ad2197b in poll () from /usr/lib/libc.so.6
#1  0x00007f6462f7cff3 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f6462f7d10e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f646bbc9fdb in QEventDispatcherGlib::processEvents (this=0x7f6454000b20, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f646bb6da7a in QEventLoop::exec (this=this@entry=0x7f645b531d30, flags=..., flags@entry=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:212
#5  0x00007f646b98367a in QThread::exec (this=this@entry=0x7f646f91fda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread.cpp:522
#6  0x00007f646f8ab6d5 in QDBusConnectionManager::run (this=0x7f646f91fda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /home/apol/devel/frameworks/qt5/qtbase/src/dbus/qdbusconnection.cpp:178
#7  0x00007f646b98884f in QThreadPrivate::start (arg=0x7f646f91fda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:376
#8  0x00007f64674d408c in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f646ad2be7f in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f646f74adc0 (LWP 607)):
[KCrash Handler]
#6  QScreen::geometry (this=0x0) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qscreen.cpp:378
#7  0x00007f646bf0e21c in QScreen::virtualGeometry (this=this@entry=0x55ef7d9913b0) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qscreen.cpp:446
#8  0x00007f646bee35af in QGuiApplicationPrivate::reportGeometryChange (e=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2829
#9  0x00007f646bee443d in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55ef7dd52280) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:1790
#10 0x00007f646bebc2db in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:984
#11 0x00007f645d73ed0b in QPAEventDispatcherGlib::processEvents (this=0x55ef7d9d8380, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:70
#12 0x00007f645d70838f in QtWaylandClient::QWaylandDisplay::forceRoundTrip (this=this@entry=0x55ef7d973f40) at /home/apol/devel/frameworks/qt5/qtwayland/src/client/qwaylanddisplay.cpp:364
#13 0x00007f645d7090f3 in QtWaylandClient::QWaylandDisplay::registry_global (this=0x55ef7d973f40, id=35, interface=..., version=2) at /home/apol/devel/frameworks/qt5/qtwayland/src/client/qwaylanddisplay.cpp:251
#14 0x00007f645d72da96 in QtWayland::wl_registry::handle_global (data=0x55ef7d973f50, object=<optimized out>, name=35, interface=0x55ef7dd589a0 "wl_output", version=2) at qwayland-wayland.cpp:71
#15 0x00007f64618f91c8 in ffi_call_unix64 () from /usr/lib/libffi.so.6
#16 0x00007f64618f8c2a in ffi_call () from /usr/lib/libffi.so.6
#17 0x00007f6467df3bad in ?? () from /usr/lib/libwayland-client.so.0
#18 0x00007f6467df0679 in ?? () from /usr/lib/libwayland-client.so.0
#19 0x00007f6467df19b4 in wl_display_dispatch_queue_pending () from /usr/lib/libwayland-client.so.0
#20 0x00007f645d708152 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55ef7d973f40) at /home/apol/devel/frameworks/qt5/qtwayland/src/client/qwaylanddisplay.cpp:190
#21 0x00007f646bb9ef65 in QMetaObject::activate (sender=sender@entry=0x55ef7d9fbf10, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe022a6750) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3767
#22 0x00007f646bb9f637 in QMetaObject::activate (sender=sender@entry=0x55ef7d9fbf10, m=m@entry=0x7f646bdd5d40 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe022a6750) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3629
#23 0x00007f646bbab508 in QSocketNotifier::activated (this=this@entry=0x55ef7d9fbf10, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:136
#24 0x00007f646bbab8d2 in QSocketNotifier::event (this=0x55ef7d9fbf10, e=0x7ffe022a69c0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qsocketnotifier.cpp:266
#25 0x00007f646c7cbd3c in QApplicationPrivate::notify_helper (this=this@entry=0x55ef7d96fa80, receiver=receiver@entry=0x55ef7d9fbf10, e=e@entry=0x7ffe022a69c0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3732
#26 0x00007f646c7d34c4 in QApplication::notify (this=0x7ffe022a6e80, receiver=0x55ef7d9fbf10, e=0x7ffe022a69c0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3491
#27 0x00007f646bb6f3a8 in QCoreApplication::notifyInternal2 (receiver=0x55ef7d9fbf10, event=event@entry=0x7ffe022a69c0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1050
#28 0x00007f646bbcac1d in QCoreApplication::sendEvent (event=0x7ffe022a69c0, receiver=<optimized out>) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.h:234
#29 socketNotifierSourceDispatch (source=0x55ef7d9c7620) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:106
#30 0x00007f6462f7ce38 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#31 0x00007f6462f7d081 in ?? () from /usr/lib/libglib-2.0.so.0
#32 0x00007f6462f7d10e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#33 0x00007f646bbc9fbf in QEventDispatcherGlib::processEvents (this=0x55ef7d9d8380, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#34 0x00007f645d73ed01 in QPAEventDispatcherGlib::processEvents (this=0x55ef7d9d8380, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:69
#35 0x00007f646bb6da7a in QEventLoop::exec (this=this@entry=0x7ffe022a6c00, flags=..., flags@entry=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:212
#36 0x00007f646bb76b74 in QCoreApplication::exec () at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1338
#37 0x000055ef7cefe74d in main (argc=1, argv=0x7ffe022a6f98) at /home/apol/devel/frameworks/plasma-workspace/krunner/main.cpp:90

Reported using DrKonqi
Comment 1 Aleix Pol 2018-02-14 23:50:09 UTC
Seems solved with https://codereview.qt-project.org/#/c/219628/

Sadly Qt 5.11