Bug 355582 - plasma crashes after disabling Laptop's screen
Summary: plasma crashes after disabling Laptop's screen
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.4.3
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
: 355583 356408 361251 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-11-19 11:35 UTC by a.key
Modified: 2016-04-03 20:32 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (7.41 KB, text/plain)
2015-12-01 07:30 UTC, Thekla Damaschke
Details
New crash information added by DrKonqi (8.15 KB, text/plain)
2015-12-08 16:48 UTC, Julian Weißgerber
Details

Note You need to log in before you can comment on or make changes to this bug.
Description a.key 2015-11-19 11:35:06 UTC
Application: plasmashell (5.4.3)

Qt Version: 5.5.1
Operating System: Linux 4.2.6-300.fc23.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
Went to settings->Display and Monitor
I have Lenovo T450s docked using a docking station and 2 external monitors connected. When docking the laptop, despite me saving the settings numerous times before I need to reenable the monitor setup every time. The laptop screen stays on but external monitors just show black screen and no display is output to it after docking.
When configuring the display in the applet very often when applying settings the display is not being enabled on external monitors (they stay disabled as idicated by their LED). Sometimes they will get enabled (I can see my mouse coursor moving across all configured screens) but there is no plasma desktop/background/wallpaper on them. Sometimes restarting plasmashell helps but very often not.
Additionally, plasmashell crashes when I switch off Laptop's display and leave just the external monitors configured.

- Unusual behavior I noticed:
Plasmashell crashes when enabling external monitors
External monitors are not being enabled when clicking Apply button.


- Custom settings of the application:
It is actually more reliable to use this command to have the display configured as desired rather than KDE's build monitor management:

xrandr --output eDP1 --auto --primary && xrandr --output DP2-1 --auto --right-of eDP1 && xrandr --output DP2-2 --auto --right-of DP2-2

The reason why it's done like this is because xrandr sometimes needs a little bit of time to enable external monitors and get their positions rather than enabling them all at the same time.

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 0x7f18ce6f4940 (LWP 6688))]

Thread 8 (Thread 0x7f18ae411700 (LWP 6713)):
#0  0x00007f18c610afdd in poll () at /lib64/libc.so.6
#1  0x00007f18cc5a5272 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f18cc5a6ee7 in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f18b0395da9 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f18c6d133ce in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f18c4db260a in start_thread () at /lib64/libpthread.so.0
#6  0x00007f18c6116a7d in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f18a75ef700 (LWP 6749)):
#0  0x00007f18c6106bbd in read () at /lib64/libc.so.6
#1  0x00007f18c1281390 in g_wakeup_acknowledge () at /lib64/libglib-2.0.so.0
#2  0x00007f18c123dc64 in g_main_context_check () at /lib64/libglib-2.0.so.0
#3  0x00007f18c123e110 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f18c123e27c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f18c6f4af0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f18c6ef1f0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f18c6d0e424 in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f18cb031b45 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#9  0x00007f18c6d133ce in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f18c4db260a in start_thread () at /lib64/libpthread.so.0
#11 0x00007f18c6116a7d in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f189ede0700 (LWP 6806)):
#0  0x00007f18c610afdd in poll () at /lib64/libc.so.6
#1  0x00007f18c123e16c in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f18c123e27c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f18c6f4af0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f18c6ef1f0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f18c6d0e424 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f18cb031b45 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f18c6d133ce in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f18c4db260a in start_thread () at /lib64/libpthread.so.0
#9  0x00007f18c6116a7d in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f189d25a700 (LWP 6840)):
#0  0x00007f18c123b1d5 in g_source_iter_next () at /lib64/libglib-2.0.so.0
#1  0x00007f18c123d6ab in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#2  0x00007f18c123e09b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f18c123e27c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f18c6f4af0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f18c6ef1f0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f18c6d0e424 in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f18cb031b45 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#8  0x00007f18c6d133ce in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#9  0x00007f18c4db260a in start_thread () at /lib64/libpthread.so.0
#10 0x00007f18c6116a7d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f189799a700 (LWP 6851)):
#0  0x00007f18c4db7b10 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f18cde77514 in QTWTF::TCMalloc_PageHeap::scavengerThread() () at /lib64/libQt5Script.so.5
#2  0x00007f18cde77559 in  () at /lib64/libQt5Script.so.5
#3  0x00007f18c4db260a in start_thread () at /lib64/libpthread.so.0
#4  0x00007f18c6116a7d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f180fdf9700 (LWP 6916)):
#0  0x00007f18c1282734 in g_mutex_unlock () at /lib64/libglib-2.0.so.0
#1  0x00007f18c123d9e9 in g_main_context_query () at /lib64/libglib-2.0.so.0
#2  0x00007f18c123e0e7 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f18c123e27c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f18c6f4af0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f18c6ef1f0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f18c6d0e424 in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f18cbbdb8d6 in QQuickPixmapReader::run() () at /lib64/libQt5Quick.so.5
#8  0x00007f18c6d133ce in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#9  0x00007f18c4db260a in start_thread () at /lib64/libpthread.so.0
#10 0x00007f18c6116a7d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f17fe316700 (LWP 7017)):
#0  0x00007f18c610afdd in poll () at /lib64/libc.so.6
#1  0x00007f18c123e16c in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f18c123e27c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f18c6f4af0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f18c6ef1f0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f18c6d0e424 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f17fff4c3c7 in KCupsConnection::run() () at /lib64/libkcupslib.so
#7  0x00007f18c6d133ce in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f18c4db260a in start_thread () at /lib64/libpthread.so.0
#9  0x00007f18c6116a7d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f18ce6f4940 (LWP 6688)):
[KCrash Handler]
#5  0x00007f18b03a655c in QXcbScreen::mapFromNative(QPoint const&) const () at /lib64/libQt5XcbQpa.so.5
#6  0x00007f18b03ae9aa in QXcbWindow::handleEnterNotifyEvent(xcb_enter_notify_event_t const*) () at /lib64/libQt5XcbQpa.so.5
#7  0x00007f18b0397afd in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () at /lib64/libQt5XcbQpa.so.5
#8  0x00007f18b0398433 in QXcbConnection::processXcbEvents() () at /lib64/libQt5XcbQpa.so.5
#9  0x00007f18c6f241b1 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#10 0x00007f18c84a841c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#11 0x00007f18c84ad8e6 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#12 0x00007f18c6ef477b in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#13 0x00007f18c6ef6b76 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#14 0x00007f18c6f4aae3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#15 0x00007f18c123de3a in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#16 0x00007f18c123e1d0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#17 0x00007f18c123e27c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#18 0x00007f18c6f4aeef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#19 0x00007f18c6ef1f0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#20 0x00007f18c6ef9fec in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#21 0x0000563283a92363 in main ()

Reported using DrKonqi
Comment 1 David Edmundson 2015-11-19 22:52:52 UTC
*** Bug 355583 has been marked as a duplicate of this bug. ***
Comment 2 Thekla Damaschke 2015-12-01 07:30:26 UTC
Created attachment 95834 [details]
New crash information added by DrKonqi

plasmashell (5.4.3) using Qt 5.5.1

- What I was doing when the application crashed:
I have a stationary with two screens. I was disabling the secondary display from the Display Configuration app.
After Plasma recovering on the the primary screeen  the app doesnt show any Monitor to adjust.

-- Backtrace (Reduced):
#5  0x00007f54a90a255c in QXcbScreen::mapFromNative(QPoint const&) const () from /lib64/libQt5XcbQpa.so.5
#6  0x00007f54a90aa9aa in QXcbWindow::handleEnterNotifyEvent(xcb_enter_notify_event_t const*) () from /lib64/libQt5XcbQpa.so.5
#7  0x00007f54a9093afd in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /lib64/libQt5XcbQpa.so.5
#8  0x00007f54a9094433 in QXcbConnection::processXcbEvents() () from /lib64/libQt5XcbQpa.so.5
#9  0x00007f54bfc211b1 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
Comment 3 Julian Weißgerber 2015-12-08 16:48:46 UTC
Created attachment 95938 [details]
New crash information added by DrKonqi

plasmashell (5.5.0) using Qt 5.5.1

- What I was doing when the application crashed:

Crashes every time when changing display output with xrandr.

-- Backtrace (Reduced):
#5  0x00007fc7bc13955c in QXcbScreen::mapFromNative(QPoint const&) const () at /lib64/libQt5XcbQpa.so.5
#6  0x00007fc7bc1419aa in QXcbWindow::handleEnterNotifyEvent(xcb_enter_notify_event_t const*) () at /lib64/libQt5XcbQpa.so.5
#7  0x00007fc7bc12aafd in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () at /lib64/libQt5XcbQpa.so.5
#8  0x00007fc7bc12b433 in QXcbConnection::processXcbEvents() () at /lib64/libQt5XcbQpa.so.5
#9  0x00007fc7d2f091b1 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
Comment 4 David Edmundson 2015-12-09 12:48:44 UTC
*** Bug 356408 has been marked as a duplicate of this bug. ***
Comment 5 James Hanks 2016-01-22 20:09:54 UTC
I am having the same problem. It happens if I use xrandr to turn off a monitor, if I close the laptop lid with an external monitor connected, or if I power off/unplug an external monitor from my laptop. I cannot submit crash reports because loading symbols fails.
Additional info:
As I wrote this I disabled the external monitor with Xrandr, then re-enabled it with the xrandr --auto command, which resulted in a mirrored display. After moving the displays in the KDE Display control panel, the plasma crashes appear to have stopped, but now the KDE taskbar disappears from the main monitor when the secondary monitor is disconnected.
Comment 6 David Edmundson 2016-04-03 20:31:17 UTC
*** Bug 361251 has been marked as a duplicate of this bug. ***
Comment 7 David Edmundson 2016-04-03 20:32:14 UTC
Qt 5.6 should have fixed this.

Please reopen if you still see the problem