Bug 353103

Summary: Plasma segfaults when using docking station in various scenarios
Product: [Plasma] plasmashell Reporter: Unknown <null>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED DUPLICATE    
Severity: crash CC: bhush94, notmart, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.4.0   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Two screens - proper setup
Window hit a border
Misplaced panel and wallpapers.

Description Unknown 2015-09-23 18:59:06 UTC
Application: plasmashell (5.4.0)

Qt Version: 5.4.2
Operating System: Linux 4.1.6-3-desktop i686
Distribution: "openSUSE 20150909 (Tumbleweed) (i586)"

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

When using a docking station with an additional, external monitor over DVI, plasma crashes. It takes a quite long while to turn back on and load the plasmoids back. I've identified two separate scenarios, at least one is reproducible (scenario A).

- Unusual behavior I noticed:

Setup:

-Laptop screen has a wallpaper from the series "Gravity Falls" (lets call it "gravity") and a plasma panel on the top edge of the screen;
- External monitor (HP ZR2440w) has a blue wallpaper ("blue") and a plasma panel on the left side, top to bottom;

Scenario A - The plasmoids (panels) get confused between screens, as well as wallpapers.:

- Power on the system with the laptop docked;
- Login;
- Use computer;
- Close lid to make the laptop go to sleep*;
- Laptop doesen't sleep; plasma crashes, system starts to work very sluggish, the cursor starts lagging;
- "Gravity" wallpaper appears on HP screen which had the "blue" wallpaper. On the HP I can see also the plasma panel on the top, with the launchers and everything, the resolution is properly adjusted;
- Open lid;
- Again usntable and sluggish behaviour;
- The HP screen has no wallpaper and panels;
- The laptop screen has the "blue" wallpaper and *both* the panels: the horizontal on top and the vertical on the left;

This happened o couple of times (3 I think). This didn't happen on Plasma 4, I've updated to Plasma 5 when upgrading openSUSE to Tumbleweed.

Today I've noticed another thing: I am unable to move the windows freely, when the system is in such state. See screenshot for more: I am unable to move the crash helper window more to the left, even a tiny bit. Something is just blocking the way, as if some part of the system (X, KWin, Plasma?) mixed up the screen boundaries or some other thing.

*In KSystemSettings I see that the laptop won't go to sleep if an external monitor is connected. Fair enough, but Plasma still crashes.

Will reboot, retest and fill in Scenario B if reproducible.

Thank you!

The crash can be reproduced every time.

-- Backtrace:
Application: Plazma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0xb335b7c0 (LWP 5882))]

Thread 8 (Thread 0xb182eb40 (LWP 5885)):
#0  0xb777ad18 in __kernel_vsyscall ()
#1  0xb4ee2feb in poll () from /lib/libc.so.6
#2  0xb712c8cd in ?? () from /usr/lib/libxcb.so.1
#3  0xb712e8db in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#4  0xb199c853 in QXcbEventReader::run (this=0x963a2f0) at qxcbconnection.cpp:1106
#5  0xb51bf970 in QThreadPrivate::start (arg=0x963a2f0) at thread/qthread_unix.cpp:337
#6  0xb4d9a315 in start_thread () from /lib/libpthread.so.0
#7  0xb4eed3be in clone () from /lib/libc.so.6

Thread 7 (Thread 0xb032db40 (LWP 5893)):
#0  0xb777ad18 in __kernel_vsyscall ()
#1  0xb4edd38b in read () from /lib/libc.so.6
#2  0xb462b3d5 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb45e6686 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#4  0xb45e6b41 in ?? () from /usr/lib/libglib-2.0.so.0
#5  0xb45e6ce4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#6  0xb53dd984 in QEventDispatcherGlib::processEvents (this=0xafa00468, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#7  0xb5383033 in QEventLoop::processEvents (this=0xb032d218, flags=...) at kernel/qeventloop.cpp:128
#8  0xb538346a in QEventLoop::exec (this=0xb032d218, flags=...) at kernel/qeventloop.cpp:204
#9  0xb51ba6b5 in QThread::exec (this=0x96c9d90) at thread/qthread.cpp:503
#10 0xb691271f in QQmlThreadPrivate::run (this=0x96c9d90) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141
#11 0xb51bf970 in QThreadPrivate::start (arg=0x96c9d90) at thread/qthread_unix.cpp:337
#12 0xb4d9a315 in start_thread () from /lib/libpthread.so.0
#13 0xb4eed3be in clone () from /lib/libc.so.6

Thread 6 (Thread 0xad0a3b40 (LWP 5894)):
#0  0xb4edd340 in read () from /lib/libc.so.6
#1  0xb462b3d5 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0xb45e6686 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3  0xb45e6b41 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb45e6ce4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb53dd984 in QEventDispatcherGlib::processEvents (this=0xac700468, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#6  0xb5383033 in QEventLoop::processEvents (this=0xad0a3218, flags=...) at kernel/qeventloop.cpp:128
#7  0xb538346a in QEventLoop::exec (this=0xad0a3218, flags=...) at kernel/qeventloop.cpp:204
#8  0xb51ba6b5 in QThread::exec (this=0x9803e40) at thread/qthread.cpp:503
#9  0xb691271f in QQmlThreadPrivate::run (this=0x9803e40) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141
#10 0xb51bf970 in QThreadPrivate::start (arg=0x9803e40) at thread/qthread_unix.cpp:337
#11 0xb4d9a315 in start_thread () from /lib/libpthread.so.0
#12 0xb4eed3be in clone () from /lib/libc.so.6

Thread 5 (Thread 0xab431b40 (LWP 5898)):
#0  0xb53dcfb8 in idleTimerSourceCheck (source=0xac70d208) at kernel/qeventdispatcher_glib.cpp:219
#1  0xb45e65d2 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#2  0xb45e6b41 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb45e6ce4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb53dd984 in QEventDispatcherGlib::processEvents (this=0xac70dc20, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0xb5383033 in QEventLoop::processEvents (this=0xab431218, flags=...) at kernel/qeventloop.cpp:128
#6  0xb538346a in QEventLoop::exec (this=0xab431218, flags=...) at kernel/qeventloop.cpp:204
#7  0xb51ba6b5 in QThread::exec (this=0x9c90b58) at thread/qthread.cpp:503
#8  0xb691271f in QQmlThreadPrivate::run (this=0x9c90b58) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/ftw/qqmlthread.cpp:141
#9  0xb51bf970 in QThreadPrivate::start (arg=0x9c90b58) at thread/qthread_unix.cpp:337
#10 0xb4d9a315 in start_thread () from /lib/libpthread.so.0
#11 0xb4eed3be in clone () from /lib/libc.so.6

Thread 4 (Thread 0xaa32db40 (LWP 5899)):
#0  0xb777ad18 in __kernel_vsyscall ()
#1  0xb4d9fa2b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb4efa32d in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb75b22bc in ?? () from /usr/lib/libQt5Script.so.5
#4  0xb75b22fc in ?? () from /usr/lib/libQt5Script.so.5
#5  0xb4d9a315 in start_thread () from /lib/libpthread.so.0
#6  0xb4eed3be in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa8c1eb40 (LWP 5902)):
#0  0xb777aa7e in __vdso_clock_gettime ()
#1  0xb4efae52 in clock_gettime () from /lib/libc.so.6
#2  0xb52582ac in qt_clock_gettime (ts=0xa8c1df48, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:161
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:170
#5  0xb53db411 in QTimerInfoList::updateCurrentTime (this=0xafa0434c) at kernel/qtimerinfo_unix.cpp:84
#6  0xb53db8b4 in QTimerInfoList::timerWait (this=0xafa0434c, tm=...) at kernel/qtimerinfo_unix.cpp:379
#7  0xb53dcdd1 in timerSourcePrepareHelper (timeout=0xa8c1e03c, src=0xafa04318) at kernel/qeventdispatcher_glib.cpp:127
#8  timerSourcePrepare (source=0xafa04318, timeout=0xa8c1e03c) at kernel/qeventdispatcher_glib.cpp:160
#9  0xb45e611b in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#10 0xb45e6abc in ?? () from /usr/lib/libglib-2.0.so.0
#11 0xb45e6ce4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#12 0xb53dd984 in QEventDispatcherGlib::processEvents (this=0xafa52ef8, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#13 0xb5383033 in QEventLoop::processEvents (this=0xa8c1e1d8, flags=...) at kernel/qeventloop.cpp:128
#14 0xb538346a in QEventLoop::exec (this=0xa8c1e1d8, flags=...) at kernel/qeventloop.cpp:204
#15 0xb51ba6b5 in QThread::exec (this=0x9ed6f98) at thread/qthread.cpp:503
#16 0xb6ce2de9 in QQuickPixmapReader::run (this=0x9ed6f98) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/quick/util/qquickpixmapcache.cpp:714
#17 0xb51bf970 in QThreadPrivate::start (arg=0x9ed6f98) at thread/qthread_unix.cpp:337
#18 0xb4d9a315 in start_thread () from /lib/libpthread.so.0
#19 0xb4eed3be in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa1292b40 (LWP 5903)):
#0  0xb777aa7e in __vdso_clock_gettime ()
#1  0xb4efae52 in clock_gettime () from /lib/libc.so.6
#2  0xb52582ac in qt_clock_gettime (ts=0xa1291fa8, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#3  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:161
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:170
#5  0xb53db411 in QTimerInfoList::updateCurrentTime (this=0xb0f05f34) at kernel/qtimerinfo_unix.cpp:84
#6  0xb53dd054 in timerSourceCheckHelper (src=0xb0f05f00) at kernel/qeventdispatcher_glib.cpp:141
#7  idleTimerSourceCheck (source=0xb0f05f68) at kernel/qeventdispatcher_glib.cpp:218
#8  0xb45e65d2 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#9  0xb45e6b41 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb45e6ce4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#11 0xb53dd984 in QEventDispatcherGlib::processEvents (this=0xb0f05578, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#12 0xb5383033 in QEventLoop::processEvents (this=0xa12921f8, flags=...) at kernel/qeventloop.cpp:128
#13 0xb538346a in QEventLoop::exec (this=0xa12921f8, flags=...) at kernel/qeventloop.cpp:204
#14 0xb51ba6b5 in QThread::exec (this=0xa8020e0) at thread/qthread.cpp:503
#15 0xa17d8d44 in KCupsConnection::run() () from /usr/lib/libkcupslib.so
#16 0xb51bf970 in QThreadPrivate::start (arg=0xa8020e0) at thread/qthread_unix.cpp:337
#17 0xb4d9a315 in start_thread () from /lib/libpthread.so.0
#18 0xb4eed3be in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb335b7c0 (LWP 5882)):
[KCrash Handler]
#7  0xb68519a5 in wasDeleted (object=0xafca420) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmldata_p.h:237
#8  QV4::QObjectWrapper::wrap (engine=0x9c982f8, object=0xafca420) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:571
#9  0xb69146a5 in QV8Engine::fromVariant (this=0x9c87fe0, variant=...) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/v8/qv8engine.cpp:404
#10 0xb6905c9c in QV4::QmlContextWrapper::get (m=0xaa3f55f0, name=0xa99dda80, hasProperty=0xbff5314c) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlcontextwrapper.cpp:234
#11 0xb67e63d9 in get (hasProperty=<optimized out>, name=0xa99dda80, this=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4object_p.h:252
#12 QV4::ExecutionContext::getProperty (this=0xbff53254, name=0xa99dda80) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4context.cpp:379
#13 0xb6860ccc in QV4::Runtime::getActivationProperty (ctx=0xbff53254, name=0xa99dda80) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4runtime.cpp:669
#14 0xa66d9941 in ?? ()
#15 0xb681502e in QV4::SimpleScriptFunction::call (that=0xa99de0e0, callData=0xaa431008) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4functionobject.cpp:511
#16 0xb68f9551 in call (d=0xaa431008, this=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/jsruntime/qv4object_p.h:278
#17 QQmlJavaScriptExpression::evaluate (this=0xa36e2c0, context=0x9e2e298, function=..., callData=0xaa431008, isUndefined=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmljavascriptexpression.cpp:158
#18 0xb689eefa in QQmlBoundSignalExpression::evaluate (this=0xa36e2b0, a=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlboundsignal.cpp:281
#19 0xb689f7fd in QQmlBoundSignal_callback (e=0x9e28fac, a=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlboundsignal.cpp:408
#20 0xb68dce53 in QQmlNotifier::emitNotify (endpoint=0x9e28fac, a=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlnotifier.cpp:73
#21 0xb687db4f in QQmlData::signalEmitted (object=0xa36a718, index=3, a=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/qml/qqmlengine.cpp:717
#22 0xb53b7062 in QMetaObject::activate (sender=0xa36a718, signalOffset=3, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3603
#23 0xb53b7d9d in QMetaObject::activate (sender=0xa36a718, m=0xb6ae06f4 <QQmlTimer::staticMetaObject>, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3582
#24 0xb6981ed2 in QQmlTimer::triggered (this=0xa36a718) at .moc/moc_qqmltimer_p.cpp:250
#25 0xb697015a in QQmlTimer::event (this=0xa36a718, e=0xb42b0b8) at /usr/src/debug/qtdeclarative-opensource-src-5.4.2/src/qml/types/qqmltimer.cpp:334
#26 0xb5ce0cba in QApplicationPrivate::notify_helper (this=0x9626700, receiver=0xa36a718, e=0xb42b0b8) at kernel/qapplication.cpp:3720
#27 0xb5ce6304 in QApplication::notify (this=0xbff53bdc, receiver=0xa36a718, e=0xb42b0b8) at kernel/qapplication.cpp:3503
#28 0xb5385ccf in QCoreApplication::notifyInternal (this=0xbff53bdc, receiver=0xa36a718, event=0xb42b0b8) at kernel/qcoreapplication.cpp:935
#29 0xb5387fc5 in sendEvent (event=0xb42b0b8, receiver=<optimized out>) at kernel/qcoreapplication.h:228
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x96208e0) at kernel/qcoreapplication.cpp:1552
#31 0xb53884e7 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1410
#32 0xb53dd573 in postEventSourceDispatch (s=0x9656458) at kernel/qeventdispatcher_glib.cpp:271
#33 0xb45e6999 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0xb45e6c19 in ?? () from /usr/lib/libglib-2.0.so.0
#35 0xb45e6ce4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#36 0xb53dd963 in QEventDispatcherGlib::processEvents (this=0x965a598, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#37 0xb19cb5f1 in QPAEventDispatcherGlib::processEvents (this=0x965a598, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:115
#38 0xb5383033 in QEventLoop::processEvents (this=0xbff53afc, flags=...) at kernel/qeventloop.cpp:128
#39 0xb538346a in QEventLoop::exec (this=0xbff53afc, flags=...) at kernel/qeventloop.cpp:204
#40 0xb538b10a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#41 0xb5696861 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1507
#42 0xb5cdce94 in QApplication::exec () at kernel/qapplication.cpp:2956
#43 0x08075cc1 in main (argc=4, argv=0xbff53cc4) at /usr/src/debug/plasma-workspace-5.4.0/shell/main.cpp:176

Possible duplicates by query: bug 352530, bug 350390.

Reported using DrKonqi
Comment 1 Unknown 2015-09-23 19:49:46 UTC
Created attachment 94699 [details]
Two screens - proper setup

The default shape of my setup: one bigger screen on the left, laptop screen on the right. Both wallpapers and plasma panels are visible in their proper state.
Comment 2 Unknown 2015-09-23 20:04:55 UTC
Created attachment 94701 [details]
Window hit a border

DrKonqi window has hit some kind of invisible border. I couldn't move it more to the left. I may have had a way by attaching it to the upper left corner of the left screen (KWin effect for 1/4 screen real estate) but sadly didn't try this out.
Comment 3 Unknown 2015-09-23 20:07:02 UTC
Created attachment 94702 [details]
Misplaced panel and wallpapers.

One of the panels is out of place, as indicated by comments.
Comment 4 Marco Martin 2015-09-29 11:11:21 UTC

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