Bug 344984 - Kwin crashes when waking up from suspend and newly detached monitor
Summary: Kwin crashes when waking up from suspend and newly detached monitor
Status: RESOLVED DUPLICATE of bug 341497
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.2.1
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-03-09 17:33 UTC by Jeppe Bundsgaard
Modified: 2015-03-10 00:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot of laptop screen. (207.46 KB, image/jpeg)
2015-03-09 17:35 UTC, Jeppe Bundsgaard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeppe Bundsgaard 2015-03-09 17:33:04 UTC
Application: kwin_x11 (5.2.1)

Qt Version: 5.4.0
Operating System: Linux 3.19.0-7-generic x86_64
Distribution: Ubuntu Vivid Vervet (development branch)

-- Information about the crash:
- What I was doing when the application crashed:
I suspend while attached to external monitor. Then I detach the monitor, and wake the computer from suspend. Now the window area is active in the size of the external monitor, while the rest of the laptop screen looks strange.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5dd49dd840 (LWP 2872))]

Thread 3 (Thread 0x7f5db6bab700 (LWP 2924)):
#0  0x00007f5dd44a8ef3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f5dd2cfffa1 in qt_safe_select (nfds=14, fdread=fdread@entry=0x7f5dac000a78, fdwrite=fdwrite@entry=0x7f5dac000d08, fdexcept=fdexcept@entry=0x7f5dac000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f5dd2d01b5c in select (timeout=0x0, exceptfds=0x7f5dac000f98, writefds=0x7f5dac000d08, readfds=0x7f5dac000a78, nfds=<optimized out>, this=0x7f5dac0008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f5dac0008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f5dd2d020d5 in QEventDispatcherUNIX::processEvents (this=0x7f5dac0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f5dd2ca9392 in QEventLoop::exec (this=this@entry=0x7f5db6baad60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f5dd2a68a94 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f5dcc917865 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f5dd2a6da4e in QThreadPrivate::start (arg=0x1f3ed80) at thread/qthread_unix.cpp:337
#9  0x00007f5dcbae00a5 in start_thread (arg=0x7f5db6bab700) at pthread_create.c:309
#10 0x00007f5dd44b157d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f5db4854700 (LWP 2935)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5dd1876684 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f5dd18766c9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f5dcbae00a5 in start_thread (arg=0x7f5db4854700) at pthread_create.c:309
#4  0x00007f5dd44b157d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f5dd49dd840 (LWP 2872)):
[KCrash Handler]
#6  QScreen::handle (this=0x0) at kernel/qscreen.cpp:85
#7  0x00007f5dbf4f68f5 in QXcbWindow::QXcbWindow (this=0x326b000, window=0x22499a0) at qxcbwindow.cpp:244
#8  0x00007f5dbf4e45e1 in QXcbIntegration::createPlatformWindow (this=<optimized out>, window=0x22499a0) at qxcbintegration.cpp:175
#9  0x00007f5dd2ffd4f6 in QWindowPrivate::create (this=0x224a110, recursive=recursive@entry=false) at kernel/qwindow.cpp:395
#10 0x00007f5dd2ffd6eb in QWindow::create (this=this@entry=0x22499a0) at kernel/qwindow.cpp:530
#11 0x00007f5dd2ffd898 in QWindow::winId (this=0x22499a0) at kernel/qwindow.cpp:549
#12 0x00007f5dd4097dff in KWin::AbstractThumbnailItem::findParentEffectWindow (this=0x325e390) at ../thumbnailitem.cpp:79
#13 0x00007f5dd4097fc9 in KWin::AbstractThumbnailItem::effectWindowAdded (this=0x325e390) at ../thumbnailitem.cpp:90
#14 0x00007f5dd4122285 in KWin::AbstractThumbnailItem::qt_static_metacall (_o=0x0, _c=3564590968, _id=52952512, _a=0x7f5dd4775760 <main_arena>) at moc_thumbnailitem.cpp:130
#15 0x00007f5dd2cdc959 in QMetaObject::activate (sender=0x1f1a0c0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffff3ca8910) at kernel/qobject.cpp:3716
#16 0x00007f5dd2cdcfe7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f5dd249aac0 <KWin::EffectsHandler::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffff3ca8910) at kernel/qobject.cpp:3582
#17 0x00007f5dd228bfb2 in KWin::EffectsHandler::windowAdded (this=<optimized out>, _t1=0x31a3e00) at moc_kwineffects.cpp:1195
#18 0x00007f5dd2cdc2ea in call (a=0x7ffff3ca8a50, r=0x1f1a0c0, this=0x2c55590) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#19 QMetaObject::activate (sender=sender@entry=0x30c0540, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=7, argv=argv@entry=0x7ffff3ca8a50) at kernel/qobject.cpp:3702
#20 0x00007f5dd2cdcfe7 in QMetaObject::activate (sender=sender@entry=0x30c0540, m=m@entry=0x7f5dd43ab2e0 <KWin::Toplevel::staticMetaObject>, local_signal_index=local_signal_index@entry=7, argv=argv@entry=0x7ffff3ca8a50) at kernel/qobject.cpp:3582
#21 0x00007f5dd411d122 in KWin::Toplevel::windowShown (this=this@entry=0x30c0540, _t1=_t1@entry=0x30c0540) at moc_toplevel.cpp:656
#22 0x00007f5dd4063dff in KWin::Toplevel::setReadyForPainting (this=0x30c0540) at ../toplevel.cpp:245
#23 0x00007f5dd41230c5 in KWin::Toplevel::qt_static_metacall (_o=0x0, _c=3564590968, _id=52952512, _a=0x7f5dd4775760 <main_arena>) at moc_toplevel.cpp:327
#24 0x00007f5dd2cdc959 in QMetaObject::activate (sender=sender@entry=0x333dd10, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3716
#25 0x00007f5dd2cdcfe7 in QMetaObject::activate (sender=sender@entry=0x333dd10, m=m@entry=0x7f5dd2f03080 <QSingleShotTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3582
#26 0x00007f5dd2cea63b in timeout (this=0x333dd10) at .moc/qtimer.moc:122
#27 QSingleShotTimer::timerEvent (this=0x333dd10) at kernel/qtimer.cpp:318
#28 0x00007f5dd2cdd683 in QObject::event (this=0x333dd10, e=<optimized out>) at kernel/qobject.cpp:1267
#29 0x00007f5dd35b42ec in QApplicationPrivate::notify_helper (this=0x1d3cd40, receiver=0x333dd10, e=0x7ffff3ca8ec0) at kernel/qapplication.cpp:3722
#30 0x00007f5dd35b9960 in QApplication::notify (this=0x7ffff3ca9100, receiver=0x333dd10, e=0x7ffff3ca8ec0) at kernel/qapplication.cpp:3505
#31 0x00007f5dd2cabbdb in QCoreApplication::notifyInternal (this=0x7ffff3ca9100, receiver=0x333dd10, event=event@entry=0x7ffff3ca8ec0) at kernel/qcoreapplication.cpp:932
#32 0x00007f5dd2d03945 in sendEvent (event=0x7ffff3ca8ec0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#33 QTimerInfoList::activateTimers (this=0x1d6f2a8) at kernel/qtimerinfo_unix.cpp:635
#34 0x00007f5dd2d01530 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x1d6d4f0) at kernel/qeventdispatcher_unix.cpp:549
#35 0x00007f5dd2d020a3 in QEventDispatcherUNIX::processEvents (this=0x1d6d4f0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:611
#36 0x00007f5dbf53889d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#37 0x00007f5dd2ca9392 in QEventLoop::exec (this=this@entry=0x7ffff3ca9020, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#38 0x00007f5dd2cb0fdc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1185
#39 0x00007f5dd2ff019c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1535
#40 0x00007f5dd35aff55 in QApplication::exec () at kernel/qapplication.cpp:2956
#41 0x00007f5dd47808c3 in kdemain (argc=1, argv=0x7ffff3ca9258) at ../main_x11.cpp:294
#42 0x00007f5dd43d8ec5 in __libc_start_main (main=0x400790 <main(int, char**)>, argc=3, argv=0x7ffff3ca9258, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffff3ca9248) at libc-start.c:287
#43 0x00000000004007be in _start ()

Reported using DrKonqi
Comment 1 Jeppe Bundsgaard 2015-03-09 17:35:55 UTC
Created attachment 91509 [details]
Screenshot of laptop screen.

Area to the right is not active - the mouse stops at the  border of the extermal monitor size.
Comment 2 Thomas Lübking 2015-03-09 23:14:40 UTC
The crash is a bug in Qt5

Originally
https://bugreports.qt-project.org/browse/QTBUG-38129
Now (apparently collected in)
https://bugreports.qt.io/browse/QTBUG-32973

> Now the window area is active in the size of the external monitor, while the rest of the laptop screen looks strange.

This seems like a different bug.
Can you dump the ouput of "xrandr -q" in this situation and attach it to the bug?

*** This bug has been marked as a duplicate of bug 341497 ***
Comment 3 Jeppe Bundsgaard 2015-03-09 23:51:47 UTC
*****This is after detaching
Screen 0: minimum 8 x 8, current 1680 x 1050, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 282mm x 165mm
   1920x1080      60.0*+   59.9     40.0  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

*****This is after attaching monitor again:

Screen 0: minimum 8 x 8, current 1680 x 1050, maximum 32767 x 32767
eDP1 connected (normal left inverted right x axis y axis)
   1920x1080      60.0 +   59.9     40.0  
   1680x1050      60.0     59.9  
   1600x1024      60.2  
   1400x1050      60.0  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
   1680x1050      59.9*+
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Comment 4 Thomas Lübking 2015-03-10 00:23:14 UTC
Screen 0: minimum 8 x 8, current 1680 x 1050, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 282mm x 165mm

Similar condition as in bug #344787 (at least one item there)
The screen size is simply not updated. This is either in libxrandr or kscreen - if there's a kscreen daemon running to update on HW changes at all ("kcmshell5 kded")