Bug 370280 - [multiscreen] Turning off screen makes kwin crash
Summary: [multiscreen] Turning off screen makes kwin crash
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kwin
Classification: Plasma
Component: platform-drm (show other bugs)
Version: git master
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-08 03:37 UTC by Bhushan Shah
Modified: 2017-10-04 19:07 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:
mgraesslin: Wayland+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bhushan Shah 2016-10-08 03:37:12 UTC
In dual-monitor setup turning off one screen makes kwin_wayland crash, following is backtrace.

Steps to reproduce:

- Login into kwin session
- Turnoff monitor
- crash

Backtrace:

#0  0x0000000000000031 in ?? ()
#1  0x00007ffb90265ea0 in KWin::DrmBuffer::releaseGbm (this=0x2275ff0) at /home/bshah/kdesrc/source/kwin/plugins/platforms/drm/drm_buffer.cpp:136
#2  0x00007ffb90265e6a in KWin::DrmBuffer::~DrmBuffer (this=0x2275ff0) at /home/bshah/kdesrc/source/kwin/plugins/platforms/drm/drm_buffer.cpp:109
#3  0x00007ffb90265d27 in KWin::gbmCallback (bo=0x17cda20, data=0x16bac70) at /home/bshah/kdesrc/source/kwin/plugins/platforms/drm/drm_buffer.cpp:68
#4  0x00007ffb9763ee93 in gbm_bo_destroy () from /usr/lib/libgbm.so.1
#5  0x00007ffb9c67318f in ?? () from /usr/lib/libEGL.so.1
#6  0x00007ffb9c66b675 in ?? () from /usr/lib/libEGL.so.1
#7  0x00007ffb9c660c53 in eglMakeCurrent () from /usr/lib/libEGL.so.1
#8  0x00007ffb9026e4f3 in KWin::EglGbmBackend::makeContextCurrent (this=0x17d3750, output=...) at /home/bshah/kdesrc/source/kwin/plugins/platforms/drm/egl_gbm_backend.cpp:180
#9  0x00007ffb9026ea7a in KWin::EglGbmBackend::prepareRenderingForScreen (this=0x17d3750, screenId=0) at /home/bshah/kdesrc/source/kwin/plugins/platforms/drm/egl_gbm_backend.cpp:265
#10 0x00007ffb9026ebc6 in non-virtual thunk to KWin::EglGbmBackend::prepareRenderingForScreen(int) () at /home/bshah/kdesrc/source/kwin/plugins/platforms/drm/egl_gbm_backend.cpp:262
#11 0x00007ffbabdba5e4 in KWin::SceneOpenGL::paint (this=0x1947af0, damage=..., toplevels=...) at /home/bshah/kdesrc/source/kwin/scene_opengl.cpp:701
#12 0x00007ffbabd9530b in KWin::Compositor::performCompositing (this=0x17d6cd0) at /home/bshah/kdesrc/source/kwin/composite.cpp:737
#13 0x00007ffbabd965c8 in KWin::Compositor::timerEvent (this=0x17d6cd0, te=0x7ffc3c171050) at /home/bshah/kdesrc/source/kwin/composite.cpp:625
#14 0x00007ffba27e0303 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#15 0x00007ffba3493e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffba349b5b1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007ffba27b3c80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#18 0x00007ffba280751e in QTimerInfoList::activateTimers() () from /usr/lib/libQt5Core.so.5
#19 0x00007ffba28054a8 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#20 0x00007ffb9204f45d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/kde/lib64/plugins/platforms/KWinQpaPlugin.so
#21 0x00007ffba27b20da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#22 0x00007ffba27ba5cc in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#23 0x000000000040c6f4 in main (argc=4, argv=0x7ffc3c171c78) at /home/bshah/kdesrc/source/kwin/main_wayland.cpp:741
Comment 1 Martin Flöser 2016-10-08 13:22:31 UTC
How did you turn off the screen? Asking as that's something I actually tested, so I assume you turn it off differently.
Comment 2 Bhushan Shah 2016-10-10 03:46:42 UTC
On Sat, Oct 08, 2016 at 01:22:31PM +0000, Martin Gräßlin via KDE Bugzilla  wrote:
> How did you turn off the screen? Asking as that's something I actually tested,
> so I assume you turn it off differently.
Umm, well I just used the power button on my external screen.. nothing
more special..
Comment 3 Martin Flöser 2017-10-04 19:07:52 UTC
The DRM plugin was refactored a lot. I don't think the backtrace applies at all anymore - even if the crash still exists.