Bug 362964 - Plasma crash after disconnecting and reconnecting monitor
Summary: Plasma crash after disconnecting and reconnecting monitor
Status: RESOLVED DUPLICATE of bug 341497
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.6.3
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-05-12 01:54 UTC by A. Wilcox (awilfox)
Modified: 2021-02-08 19:29 UTC (History)
7 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 A. Wilcox (awilfox) 2016-05-12 01:54:19 UTC
Application: plasmashell (5.6.3)
 (Compiled from sources)
Qt Version: 5.5.1
Frameworks Version: 5.21.0
Operating System: Linux 4.6.0-rc4-ciall x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
I have just moved and have to share my single DVI monitor with multiple desktops.  When I unplug the monitor from this desktop and then reconnect it, Plasma, KWin, and KRunner all crash.  I will submit crash logs for those as well under this bug.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5aa9fb4800 (LWP 3662))]

Thread 8 (Thread 0x7f5a96070700 (LWP 3667)):
#0  0x00007f5aa495f7fd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5aa87beac2 in poll (__timeout=-1, __nfds=1, __fds=0x7f5a9606fcc0) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x23d1a60, cond=cond@entry=0x23d1aa0, vector=vector@entry=0x0, count=count@entry=0x0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459
#3  0x00007f5aa87c072f in xcb_wait_for_event (c=0x23d1a60) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:693
#4  0x00007f5a9757cc95 in QXcbEventReader::run (this=0x23e4ab0) at qxcbconnection.cpp:1229
#5  0x00007f5aa4fc581e in QThreadPrivate::start (arg=0x23e4ab0) at thread/qthread_unix.cpp:331
#6  0x00007f5aa4468434 in start_thread (arg=0x7f5a96070700) at pthread_create.c:333
#7  0x00007f5aa49688fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f5a8efc9700 (LWP 3748)):
#0  0x00007f5aa07deae4 in g_mutex_unlock (mutex=0x7f5a88000990) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gthread-posix.c:232
#1  0x00007f5aa079a601 in g_main_context_prepare (context=<optimized out>, priority=0x7f5a8efc8ca4) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3440
#2  0x00007f5aa079af18 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3820
#3  0x00007f5aa079b0ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3901
#4  0x00007f5aa51b397c in QEventDispatcherGlib::processEvents (this=0x7f5a880008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f5aa51666fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#6  QEventLoop::exec (this=0x7f5a8efc8dc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f5aa4fc22a9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#8  0x00007f5aa7711246 in QQmlThreadPrivate::run (this=0x24d4920) at qml/ftw/qqmlthread.cpp:141
#9  0x00007f5aa4fc581e in QThreadPrivate::start (arg=0x24d4920) at thread/qthread_unix.cpp:331
#10 0x00007f5aa4468434 in start_thread (arg=0x7f5a8efc9700) at pthread_create.c:333
#11 0x00007f5aa49688fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f5a829c0700 (LWP 3750)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5a8c71dbb3 in cnd_wait (mtx=0x25aa840, cond=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:159
#2  pipe_semaphore_wait (sema=0x25aa840) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0x25aa4f0) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:653
#4  0x00007f5a8c71d307 in impl_thrd_routine (p=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:87
#5  0x00007f5aa4468434 in start_thread (arg=0x7f5a829c0700) at pthread_create.c:333
#6  0x00007f5aa49688fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f5a80c8a700 (LWP 3751)):
#0  0x00007f5aa495f7fd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5aa079afd7 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:4135
#2  g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3835
#3  0x00007f5aa079b0ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3901
#4  0x00007f5aa51b397c in QEventDispatcherGlib::processEvents (this=0x7f5a7c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f5aa51666fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#6  QEventLoop::exec (this=0x7f5a80c89dc0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f5aa4fc22a9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#8  0x00007f5aa7711246 in QQmlThreadPrivate::run (this=0x27899b0) at qml/ftw/qqmlthread.cpp:141
#9  0x00007f5aa4fc581e in QThreadPrivate::start (arg=0x27899b0) at thread/qthread_unix.cpp:331
#10 0x00007f5aa4468434 in start_thread (arg=0x7f5a80c8a700) at pthread_create.c:333
#11 0x00007f5aa49688fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f5a7b3c3700 (LWP 3752)):
#0  g_private_get_impl (key=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gthread-posix.c:1038
#1  0x00007f5aa07df396 in g_private_get (key=0x7f5aa0a80a28 <g_thread_specific_private>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gthread-posix.c:1057
#2  0x00007f5aa07c064d in g_thread_self () at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gthread.c:978
#3  0x00007f5aa07984dc in g_main_context_acquire (context=0x7f5a74000990) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3209
#4  0x00007f5aa079aea3 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3790
#5  0x00007f5aa079b0ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3901
#6  0x00007f5aa51b397c in QEventDispatcherGlib::processEvents (this=0x7f5a740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#7  0x00007f5aa51666fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#8  QEventLoop::exec (this=0x7f5a7b3c2dc0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007f5aa4fc22a9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#10 0x00007f5aa7711246 in QQmlThreadPrivate::run (this=0x23fe090) at qml/ftw/qqmlthread.cpp:141
#11 0x00007f5aa4fc581e in QThreadPrivate::start (arg=0x23fe090) at thread/qthread_unix.cpp:331
#12 0x00007f5aa4468434 in start_thread (arg=0x7f5a7b3c3700) at pthread_create.c:333
#13 0x00007f5aa49688fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f5a79b26700 (LWP 3753)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5aa9a12aaa in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f5aa9af1330 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f5aa9a12a26 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f5aa9aff404 <QTWTF::pageheap_memory+57556>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f5aa4468434 in start_thread (arg=0x7f5a79b26700) at pthread_create.c:333
#4  0x00007f5aa49688fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f59f2d67700 (LWP 3765)):
#0  0x00007f5aa446c0b3 in __pthread_mutex_unlock_usercnt (mutex=0x7f59ec000a50, decr=<optimized out>) at pthread_mutex_unlock.c:55
#1  0x00007f5aa07deaf7 in g_mutex_unlock (mutex=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gthread-posix.c:235
#2  0x00007f5aa079ab81 in g_main_context_check (context=0x7f59ec000990, max_priority=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3748
#3  0x00007f5aa079b01a in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3837
#4  0x00007f5aa079b0ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3901
#5  0x00007f5aa51b397c in QEventDispatcherGlib::processEvents (this=0x7f59ec0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#6  0x00007f5aa51666fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#7  QEventLoop::exec (this=0x7f59f2d66d80, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f5aa4fc22a9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#9  0x00007f5aa80597d8 in QQuickPixmapReader::run (this=0x29c3db0) at util/qquickpixmapcache.cpp:760
#10 0x00007f5aa4fc581e in QThreadPrivate::start (arg=0x29c3db0) at thread/qthread_unix.cpp:331
#11 0x00007f5aa4468434 in start_thread (arg=0x7f59f2d67700) at pthread_create.c:333
#12 0x00007f5aa49688fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f5aa9fb4800 (LWP 3662)):
[KCrash Handler]
#6  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:135
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (p=...) at ../../include/QtCore/../../src/corelib/global/qglobal.h:983
#8  QScreen::d_func (this=0x0) at ../../include/QtGui/../../src/gui/kernel/qscreen.h:59
#9  QScreen::handle (this=0x0) at kernel/qscreen.cpp:111
#10 0x00007f5a9757fa77 in QXcbIntegration::createPlatformWindow (this=<optimized out>, window=0x3207f30) at qxcbintegration.cpp:196
#11 0x00007f5aa5497569 in QWindowPrivate::create (this=0x320bb00, recursive=false) at kernel/qwindow.cpp:392
#12 0x00007f5aa54979be in QWindow::create (this=<optimized out>) at kernel/qwindow.cpp:548
#13 QWindow::winId (this=<optimized out>) at kernel/qwindow.cpp:567
#14 0x00007f5aa9b206df in PlasmaQuick::DialogPrivate::updateTheme (this=0x320c0e0) at /var/tmp/portage/kde-frameworks/plasma-5.21.0/work/plasma-framework-5.21.0/src/plasmaquick/dialog.cpp:225
#15 0x00007f5aa5195860 in QMetaObject::activate (sender=0x320c158, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
#16 0x00007f5aa51957d0 in QtPrivate::QSlotObjectBase::call (this=0x320b490, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#17 QMetaObject::activate (sender=0x256d010, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3698
#18 0x00007f5aa5195860 in QMetaObject::activate (sender=0x25698a0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
#19 0x00007f5aa518ea2b in QObject::event (this=0x25698a0, e=0x3207f30) at kernel/qobject.cpp:1220
#20 0x00007f5aa59a069c in QApplicationPrivate::notify_helper (this=this@entry=0x23c8000, receiver=receiver@entry=0x25698a0, e=e@entry=0x7ffd0e2d5d48) at kernel/qapplication.cpp:3716
#21 0x00007f5aa59a5b10 in QApplication::notify (this=0x7ffd0e2d6188, receiver=0x25698a0, e=0x7ffd0e2d5d48) at kernel/qapplication.cpp:3499
#22 0x00007f5aa5169054 in QCoreApplication::notifyInternal (this=0x7ffd0e2d6188, receiver=0x25698a0, event=0x7ffd0e2d5d48) at kernel/qcoreapplication.cpp:965
#23 0x00007f5aa51b2f39 in QCoreApplication::sendEvent (receiver=0x3207f30, event=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#24 QTimerInfoList::activateTimers (this=0x2412db0) at kernel/qtimerinfo_unix.cpp:637
#25 0x00007f5aa51b408a in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177
#26 0x00007f5aa079acfd in g_main_dispatch (context=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3154
#27 g_main_context_dispatch (context=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3769
#28 0x00007f5aa079b029 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3840
#29 0x00007f5aa079b0ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3901
#30 0x00007f5aa51b395c in QEventDispatcherGlib::processEvents (this=0x23bdd70, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#31 0x00007f5aa51666fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#32 QEventLoop::exec (this=0x7ffd0e2d5f90, flags=...) at kernel/qeventloop.cpp:204
#33 0x00007f5aa51695e3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#34 0x000000000041da1f in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-plasma/plasma-workspace-5.6.3/work/plasma-workspace-5.6.3/shell/main.cpp:139

Reported using DrKonqi
Comment 1 A. Wilcox (awilfox) 2016-05-12 02:29:07 UTC
Application: krunner (5.6.3)
 (Compiled from sources)
Qt Version: 5.5.1
Frameworks Version: 5.21.0
Operating System: Linux 4.6.0-rc4-ciall x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:

Hotplugging monitor as noted in other comment in this bug (this is crash #2 of 3)

The crash can be reproduced every time.

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

Thread 4 (Thread 0x7f4af6140700 (LWP 3648)):
#0  0x00007f4b05f2b7fd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f4b05436ac2 in poll (__timeout=-1, __nfds=1, __fds=0x7f4af613fd00) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0xf70a80, cond=cond@entry=0xf70ac0, vector=vector@entry=0x0, count=count@entry=0x0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459
#3  0x00007f4b0543872f in xcb_wait_for_event (c=0xf70a80) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:693
#4  0x00007f4af764cc95 in QXcbEventReader::run (this=0xf6fea0) at qxcbconnection.cpp:1229
#5  0x00007f4b0659181e in QThreadPrivate::start (arg=0xf6fea0) at thread/qthread_unix.cpp:331
#6  0x00007f4b041cb434 in start_thread (arg=0x7f4af6140700) at pthread_create.c:333
#7  0x00007f4b05f348fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f4ae98c3700 (LWP 3659)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f4aef5d1bb3 in cnd_wait (mtx=0x104cb90, cond=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:159
#2  pipe_semaphore_wait (sema=0x104cb90) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0x104c840) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:653
#4  0x00007f4aef5d1307 in impl_thrd_routine (p=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:87
#5  0x00007f4b041cb434 in start_thread (arg=0x7f4ae98c3700) at pthread_create.c:333
#6  0x00007f4b05f348fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f4ae8295700 (LWP 3669)):
#0  0x00007f4b05f2b7fd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f4b02042fd7 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:4135
#2  g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3835
#3  0x00007f4b020430ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3901
#4  0x00007f4b0677f97c in QEventDispatcherGlib::processEvents (this=0x7f4ae00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f4b067326fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#6  QEventLoop::exec (this=0x7f4ae8294e00, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f4b0658e2a9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#8  0x00007f4b084e9246 in QQmlThreadPrivate::run (this=0x11d89c0) at qml/ftw/qqmlthread.cpp:141
#9  0x00007f4b0659181e in QThreadPrivate::start (arg=0x11d89c0) at thread/qthread_unix.cpp:331
#10 0x00007f4b041cb434 in start_thread (arg=0x7f4ae8295700) at pthread_create.c:333
#11 0x00007f4b05f348fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f4b094ff7c0 (LWP 3647)):
[KCrash Handler]
#6  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:135
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (p=...) at ../../include/QtCore/../../src/corelib/global/qglobal.h:983
#8  QScreen::d_func (this=0x0) at ../../include/QtGui/../../src/gui/kernel/qscreen.h:59
#9  QScreen::handle (this=0x0) at kernel/qscreen.cpp:111
#10 0x00007f4af764fa77 in QXcbIntegration::createPlatformWindow (this=<optimized out>, window=0x7fff590c0720) at qxcbintegration.cpp:196
#11 0x00007f4b06a63569 in QWindowPrivate::create (this=0xfeb610, recursive=false) at kernel/qwindow.cpp:392
#12 0x00007f4b06a639be in QWindow::create (this=<optimized out>) at kernel/qwindow.cpp:548
#13 QWindow::winId (this=<optimized out>) at kernel/qwindow.cpp:567
#14 0x00007f4b092716df in PlasmaQuick::DialogPrivate::updateTheme (this=0xfef560) at /var/tmp/portage/kde-frameworks/plasma-5.21.0/work/plasma-framework-5.21.0/src/plasmaquick/dialog.cpp:225
#15 0x00007f4b06761860 in QMetaObject::activate (sender=0xfef5d8, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
#16 0x00007f4b067617d0 in QtPrivate::QSlotObjectBase::call (this=0xff0870, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#17 QMetaObject::activate (sender=0x116f400, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3698
#18 0x00007f4b06761860 in QMetaObject::activate (sender=0x1000b60, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
#19 0x00007f4b0675aa2b in QObject::event (this=0x1000b60, e=0x7fff590c0720) at kernel/qobject.cpp:1220
#20 0x00007f4b071f269c in QApplicationPrivate::notify_helper (this=this@entry=0xf65af0, receiver=receiver@entry=0x1000b60, e=e@entry=0x7fff590c0468) at kernel/qapplication.cpp:3716
#21 0x00007f4b071f7b10 in QApplication::notify (this=0x7fff590c0858, receiver=0x1000b60, e=0x7fff590c0468) at kernel/qapplication.cpp:3499
#22 0x00007f4b06735054 in QCoreApplication::notifyInternal (this=0x7fff590c0858, receiver=0x1000b60, event=0x7fff590c0468) at kernel/qcoreapplication.cpp:965
#23 0x00007f4b0677ef39 in QCoreApplication::sendEvent (receiver=0x7fff590c0720, event=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#24 QTimerInfoList::activateTimers (this=0xfb1e30) at kernel/qtimerinfo_unix.cpp:637
#25 0x00007f4b0678008a in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177
#26 0x00007f4b02042cfd in g_main_dispatch (context=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3154
#27 g_main_context_dispatch (context=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3769
#28 0x00007f4b02043029 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3840
#29 0x00007f4b020430ae in g_main_context_iteration (context=<optimized out>, may_block=1) at /var/tmp/portage/dev-libs/glib-2.48.0/work/glib-2.48.0/glib/gmain.c:3901
#30 0x00007f4b0677f95c in QEventDispatcherGlib::processEvents (this=0xfb0210, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#31 0x00007f4b067326fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#32 QEventLoop::exec (this=0x7fff590c06b0, flags=...) at kernel/qeventloop.cpp:204
#33 0x00007f4b067355e3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#34 0x0000000000407023 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-plasma/plasma-workspace-5.6.3/work/plasma-workspace-5.6.3/krunner/main.cpp:83

Reported using DrKonqi
Comment 2 A. Wilcox (awilfox) 2016-05-12 02:30:37 UTC
Application: kwin_x11 (5.6.3)
 (Compiled from sources)
Qt Version: 5.5.1
Frameworks Version: 5.21.0
Operating System: Linux 4.6.0-rc4-ciall x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2b5a899800 (LWP 3645))]

Thread 6 (Thread 0x7f2b43dde700 (LWP 3708)):
#0  0x00007f2b5a1627fd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f2b585a0ac2 in poll (__timeout=-1, __nfds=1, __fds=0x7f2b43dddcc0) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x953790, cond=cond@entry=0x9537d0, vector=vector@entry=0x0, count=count@entry=0x0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459
#3  0x00007f2b585a272f in xcb_wait_for_event (c=0x953790) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:693
#4  0x00007f2b4468ac95 in QXcbEventReader::run (this=0x966740) at qxcbconnection.cpp:1229
#5  0x00007f2b5885581e in QThreadPrivate::start (arg=0x966740) at thread/qthread_unix.cpp:331
#6  0x00007f2b5a424434 in start_thread (arg=0x7f2b43dde700) at pthread_create.c:333
#7  0x00007f2b5a16b8fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f2b3bfff700 (LWP 3714)):
#0  0x00007f2b5a164503 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f2b58a3f874 in qt_safe_select (nfds=12, fdread=0x7f2b30000a78, fdwrite=0x7f2b30000d08, fdexcept=0x7f2b30000f98, orig_timeout=<optimized out>) at kernel/qcore_unix.cpp:75
#2  0x00007f2b58a4052b in QEventDispatcherUNIXPrivate::doSelect (this=0x7f2b300008e0, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:192
#3  0x00007f2b58a415df in QEventDispatcherUNIX::processEvents (this=0x7f2b300008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#4  0x00007f2b589f66fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#5  QEventLoop::exec (this=0x7f2b3bffedc0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f2b588522a9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f2b5305d246 in QQmlThreadPrivate::run (this=0xba5ae0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f2b5885581e in QThreadPrivate::start (arg=0xba5ae0) at thread/qthread_unix.cpp:331
#9  0x00007f2b5a424434 in start_thread (arg=0x7f2b3bfff700) at pthread_create.c:333
#10 0x00007f2b5a16b8fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f2b2d14d700 (LWP 3718)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f2b3aa41bb3 in cnd_wait (mtx=0xb73b50, cond=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:159
#2  pipe_semaphore_wait (sema=0xb73b50) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0xb73800) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:653
#4  0x00007f2b3aa41307 in impl_thrd_routine (p=<optimized out>) at /var/tmp/portage/media-libs/mesa-11.1.0/work/mesa-11.1.0/include/c11/threads_posix.h:87
#5  0x00007f2b5a424434 in start_thread (arg=0x7f2b2d14d700) at pthread_create.c:333
#6  0x00007f2b5a16b8fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f2b2be26700 (LWP 3739)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f2b57a74aaa in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f2b57b53330 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f2b57a74a26 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f2b57b61404 <QTWTF::pageheap_memory+57556>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f2b5a424434 in start_thread (arg=0x7f2b2be26700) at pthread_create.c:333
#4  0x00007f2b5a16b8fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f2b2c627700 (LWP 3803)):
#0  0x00007f2b5a164503 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f2b58a3f874 in qt_safe_select (nfds=11, fdread=0x7f2b24000a58, fdwrite=0x7f2b24000ce8, fdexcept=0x7f2b24000f78, orig_timeout=<optimized out>) at kernel/qcore_unix.cpp:75
#2  0x00007f2b58a4052b in QEventDispatcherUNIXPrivate::doSelect (this=0x7f2b240008c0, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:192
#3  0x00007f2b58a415df in QEventDispatcherUNIX::processEvents (this=0x7f2b24053b60, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#4  0x00007f2b589f66fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#5  QEventLoop::exec (this=0x7f2b2c626dc0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f2b588522a9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f2b5305d246 in QQmlThreadPrivate::run (this=0x1244160) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f2b5885581e in QThreadPrivate::start (arg=0x1244160) at thread/qthread_unix.cpp:331
#9  0x00007f2b5a424434 in start_thread (arg=0x7f2b2c627700) at pthread_create.c:333
#10 0x00007f2b5a16b8fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f2b5a899800 (LWP 3645)):
[KCrash Handler]
#6  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:135
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (p=...) at ../../include/QtCore/../../src/corelib/global/qglobal.h:983
#8  QScreen::d_func (this=0x0) at ../../include/QtGui/../../src/gui/kernel/qscreen.h:59
#9  QScreen::handle (this=0x0) at kernel/qscreen.cpp:111
#10 0x00007f2b4468da77 in QXcbIntegration::createPlatformWindow (this=<optimized out>, window=0x1f54f40) at qxcbintegration.cpp:196
#11 0x00007f2b58d27569 in QWindowPrivate::create (this=0x1f1f850, recursive=false) at kernel/qwindow.cpp:392
#12 0x00007f2b58d279be in QWindow::create (this=<optimized out>) at kernel/qwindow.cpp:548
#13 QWindow::winId (this=<optimized out>) at kernel/qwindow.cpp:567
#14 0x00007f2a993c69e3 in PlasmaQuick::DialogPrivate::updateInputShape (this=0x18d3fe0) at /var/tmp/portage/kde-frameworks/plasma-5.21.0/work/plasma-framework-5.21.0/src/plasmaquick/dialog.cpp:548
#15 0x00007f2b58a25860 in QMetaObject::activate (sender=0x1f54f40, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
#16 0x00007f2b58d271a3 in QWindow::visibleChanged (this=<optimized out>, _t1=true) at .moc/moc_qwindow.cpp:715
#17 QWindow::setVisible (this=0x1f54f40, visible=true) at kernel/qwindow.cpp:473
#18 0x00007f2a993ca202 in PlasmaQuick::Dialog::setVisible (this=0x1f54f40, visible=<optimized out>) at /var/tmp/portage/kde-frameworks/plasma-5.21.0/work/plasma-framework-5.21.0/src/plasmaquick/dialog.cpp:1248
#19 0x00007f2a993cb943 in PlasmaQuick::Dialog::qt_metacall (this=0x1f54f40, _c=QMetaObject::WriteProperty, _id=9, _a=0x7ffed8222a80) at /var/tmp/portage/kde-frameworks/plasma-5.21.0/work/plasma-5.21.0_build/src/plasmaquick/moc_dialog.cpp:389
#20 0x00007f2b52fe1464 in QQmlPropertyPrivate::write (object=<optimized out>, property=..., value=..., context=<optimized out>, flags=...) at qml/qqmlproperty.cpp:1313
#21 0x00007f2b52fe0cff in QQmlPropertyPrivate::writeValueProperty (object=0x1f54f40, core=..., value=..., context=0x1f1f4b0, flags=...) at qml/qqmlproperty.cpp:1237
#22 0x00007f2b52fe3f1a in QQmlPropertyPrivate::writeBinding (object=0x1f54f40, core=..., context=0x1f1f4b0, expression=0x1f48750, result=..., isUndefined=<optimized out>, flags=...) at qml/qqmlproperty.cpp:1597
#23 0x00007f2b5304a8f7 in QQmlBinding::update (this=0x1f48730, flags=...) at qml/qqmlbinding.cpp:198
#24 0x00007f2b530281ca in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at qml/qqmlnotifier.cpp:94
#25 0x00007f2b58a24e3a in QMetaObject::activate (sender=0x1f1f420, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3598
#26 0x00007f2b59dd90d3 in KWin::TabBox::TabBoxHandler::show (this=0x9e3140) at /var/tmp/portage/kde-plasma/kwin-5.6.3/work/kwin-5.6.3/tabbox/tabboxhandler.cpp:385
#27 0x00007f2b58a25860 in QMetaObject::activate (sender=0xa56b88, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
#28 0x00007f2b58a1ea2b in QObject::event (this=0xa56b88, e=0x1f54f40) at kernel/qobject.cpp:1220
#29 0x00007f2b5923069c in QApplicationPrivate::notify_helper (this=this@entry=0x94c1b0, receiver=receiver@entry=0xa56b88, e=e@entry=0x7ffed8224d58) at kernel/qapplication.cpp:3716
#30 0x00007f2b59235b10 in QApplication::notify (this=0x7ffed8224fb8, receiver=0xa56b88, e=0x7ffed8224d58) at kernel/qapplication.cpp:3499
#31 0x00007f2b5a63d9d6 in KWin::ApplicationX11::notify (this=0x7ffed8224fb8, o=0xa56b88, e=0x7ffed8224d58) at /var/tmp/portage/kde-plasma/kwin-5.6.3/work/kwin-5.6.3/main_x11.cpp:199
#32 0x00007f2b589f9054 in QCoreApplication::notifyInternal (this=0x7ffed8224fb8, receiver=0xa56b88, event=0x7ffed8224d58) at kernel/qcoreapplication.cpp:965
#33 0x00007f2b58a42f39 in QCoreApplication::sendEvent (receiver=0x1f54f40, event=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#34 QTimerInfoList::activateTimers (this=0x9a80b8) at kernel/qtimerinfo_unix.cpp:637
#35 0x00007f2b58a415f6 in QEventDispatcherUNIX::activateTimers (this=<optimized out>) at kernel/qeventdispatcher_unix.cpp:549
#36 QEventDispatcherUNIX::processEvents (this=0x98fcf0, flags=...) at kernel/qeventdispatcher_unix.cpp:611
#37 0x00007f2b446ef22a in QUnixEventDispatcherQPA::processEvents (this=0x0, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#38 0x00007f2b589f66fd in QEventLoop::processEvents (flags=..., this=<optimized out>) at kernel/qeventloop.cpp:128
#39 QEventLoop::exec (this=0x7ffed8224ee0, flags=...) at kernel/qeventloop.cpp:204
#40 0x00007f2b589f95e3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#41 0x00007f2b5a63e38d in kdemain (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-plasma/kwin-5.6.3/work/kwin-5.6.3/main_x11.cpp:327
#42 0x00007f2b5a0a4790 in __libc_start_main (main=0x4008e0 <main(int, char**)>, argc=3, argv=0x7ffed8225148, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffed8225138) at ../csu/libc-start.c:289
#43 0x00000000004007f9 in _start ()

Reported using DrKonqi
Comment 3 Marco Martin 2016-05-12 11:50:40 UTC
it seems to crash when calling winId() of the dialog..
like in most of those backtraces
KWindowEffects::enableBlurBehind(q->winId(), true, frameSvgItem->frameSvg()->mask());
may be that the platform window of the dialog got destroyed but the instance of dialog is still around?
Comment 4 Martin Flöser 2016-05-12 14:19:23 UTC
(In reply to Marco Martin from comment #3)
> may be that the platform window of the dialog got destroyed but the instance
> of dialog is still around?

No, that's not the problem here. This is the typically "Qt, I'm too stupid to handle multiscreen" crash.

The platform window fails to be created as the QScreen is null. Which is totally, utterly stupid that Qt does allow QScreen to be null on xcb. That's something that cannot happen! There is always at least a virtual screen. For to me unknown reasons Qt decided to bind a QScreen to an XRandR screen - which doesn't have anything to do what screens are in X11, but who cares. That way we can get rid of all QScreens when e.g. all screens go into DPMS and then we can make all windows crash at random code positions. Good that we didn't point that out to Qt before they changed it. Just they ignored our advice and wrote something like "then KDE needs to fix their code". What a pity that I never saw a single backtrace ending in our code.

After trying to fix these crashes for about two years, Qt finally gave up in Qt 5.6 and introduced a dummy QScreen in xcb plugin. So with Qt 5.6 this problem should be fixed. Till then, sorry, there is nothing we can do about it.

We unfortunately even had security vulnerabilities due to this utterly stupid behavior of Qt.

Now, I am aware that e.g. Kubuntu LTS ships with this horribly broken Qt, so please nag your distribution to update it.

End of rant on Qt's multiscreen problems.
Comment 5 Marco Martin 2016-07-26 15:10:06 UTC
*** Bug 366070 has been marked as a duplicate of this bug. ***
Comment 6 Marco Martin 2016-09-23 14:06:30 UTC
*** Bug 369221 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2021-02-08 19:29:46 UTC

*** This bug has been marked as a duplicate of bug 341497 ***