Bug 350467 - Desktop crashes on screen saver activation - power save activation
Summary: Desktop crashes on screen saver activation - power save activation
Status: RESOLVED DUPLICATE of bug 341497
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.3.1
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-07-21 22:22 UTC by clifford bradbury
Modified: 2015-07-28 13:43 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description clifford bradbury 2015-07-21 22:22:09 UTC
Application: kwin_x11 (5.3.1)

Qt Version: 5.4.1
Operating System: Linux 3.19.0-22-generic x86_64
Distribution: Ubuntu 15.04

-- Information about the crash:
- What I was doing when the application crashed:
System left - system login screen appears.  If this then timeouts out so monitors power down, on logging back in the system to have reverted to single screen and all the winodws resize or move to 1 screen.

I am using a Radeon R9 285 card with the Radeon drivers.
1: HDMI ASUS VE247 1920x1080 @60hz
2: DP AOC U2868 3840x2160 @ 30hz

- Unusual behavior I noticed:
If the DP port is left on 60Hz I flickers alot so I have to run it at 30Hz - however when this fault or krunner crashes, if defaults back to 60Hz and I normally go into System Settings, Display and Monitor, Select DFP1 and select Advanced Settings and take off Auto and goto one of 30Hz (Shows Auto, 60hz, 24Hz, 25Hz, 30Hz, 24Hz, 30Hz). As soon as Applied, things work OK again.
KRunner can randomly die and have the same issue then too that have to reset the refresh rate,

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 0x7f7fcd043800 (LWP 8562))]

Thread 4 (Thread 0x7f7faf7fe700 (LWP 8576)):
#0  0x00007f7fccb07743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f7fcb0f5101 in qt_safe_select (nfds=15, fdread=fdread@entry=0x7f7fa0000a78, fdwrite=fdwrite@entry=0x7f7fa0000d08, fdexcept=fdexcept@entry=0x7f7fa0000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f7fcb0f6cd2 in select (timeout=0x0, exceptfds=0x7f7fa0000f98, writefds=0x7f7fa0000d08, readfds=0x7f7fa0000a78, nfds=<optimized out>, this=0x7f7fa00008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f7fa00008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f7fcb0f7275 in QEventDispatcherUNIX::processEvents (this=0x7f7fa00008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f7fcb09e3e2 in QEventLoop::exec (this=this@entry=0x7f7faf7fdda0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f7fcae5db44 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f7fc4cc0f65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f7fcae62b0e in QThreadPrivate::start (arg=0x979b70) at thread/qthread_unix.cpp:337
#9  0x00007f7fcc3826aa in start_thread (arg=0x7f7faf7fe700) at pthread_create.c:333
#10 0x00007f7fccb10eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f7fadffc700 (LWP 8588)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7fc9c66644 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f7fc9c66689 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f7fcc3826aa in start_thread (arg=0x7f7fadffc700) at pthread_create.c:333
#4  0x00007f7fccb10eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f7fae7fd700 (LWP 15454)):
#0  0x00007f7fccb070b7 in ioctl () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f7f18c7d919 in uki_firegl_MicroSleep () from /usr/lib/libatiuki.so.1
#2  0x00007f7f1abb2920 in ?? () from /usr/lib/dri/fglrx_dri.so
#3  0x00007f7f1a343d72 in ?? () from /usr/lib/dri/fglrx_dri.so
#4  0x00007f7f1a343dc5 in ?? () from /usr/lib/dri/fglrx_dri.so
#5  0x00007f7fcc3826aa in start_thread (arg=0x7f7fae7fd700) at pthread_create.c:333
#6  0x00007f7fccb10eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f7fcd043800 (LWP 8562)):
[KCrash Handler]
#6  0x00007f7fb7ca6290 in QXcbWindow::devicePixelRatio (this=<optimized out>) at qxcbwindow.cpp:2453
#7  0x00007f7fb7cac84d in QXcbWindow::handleConfigureNotifyEvent (this=0xa61b10, event=0x7f7fb0004220) at qxcbwindow.cpp:1883
#8  0x00007f7fb7c97460 in QXcbConnection::handleXcbEvent (this=this@entry=0x765ea0, event=event@entry=0x7f7fb0004220) at qxcbconnection.cpp:884
#9  0x00007f7fb7c984bb in QXcbConnection::processXcbEvents (this=0x765ea0) at qxcbconnection.cpp:1303
#10 0x00007f7fcb0d273a in QObject::event (this=0x765ea0, e=<optimized out>) at kernel/qobject.cpp:1245
#11 0x00007f7fcb9aab2c in QApplicationPrivate::notify_helper (this=0x75f660, receiver=0x765ea0, e=0x7f7fb0004380) at kernel/qapplication.cpp:3720
#12 0x00007f7fcb9b0000 in QApplication::notify (this=0x7ffd6337bfc0, receiver=0x765ea0, e=0x7f7fb0004380) at kernel/qapplication.cpp:3503
#13 0x00007f7fcb0a0c2b in QCoreApplication::notifyInternal (this=0x7ffd6337bfc0, receiver=0x765ea0, event=event@entry=0x7f7fb0004380) at kernel/qcoreapplication.cpp:935
#14 0x00007f7fcb0a2c9b in sendEvent (event=0x7f7fb0004380, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#15 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x74fa90) at kernel/qcoreapplication.cpp:1552
#16 0x00007f7fcb0f7112 in QEventDispatcherUNIX::processEvents (this=0x7993a0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:579
#17 0x00007f7fb7cee96d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#18 0x00007f7fcb09e3e2 in QEventLoop::exec (this=this@entry=0x7ffd6337bee0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#19 0x00007f7fcb0a602c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#20 0x00007f7fcb3e531c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#21 0x00007f7fcb9a67a5 in QApplication::exec () at kernel/qapplication.cpp:2956
#22 0x00007f7fccdd9320 in kdemain (argc=1, argv=0x7ffd6337c128) at ../main_x11.cpp:300
#23 0x00007f7fcca2aa40 in __libc_start_main (main=0x4007a0 <main(int, char**)>, argc=3, argv=0x7ffd6337c128, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd6337c118) at libc-start.c:289
#24 0x00000000004007d9 in _start ()

Reported using DrKonqi
Comment 1 Thomas Lübking 2015-07-28 13:43:30 UTC
Crash line is around
m_screen = static_cast<QXcbScreen *>(window->screen()->handle());
setConnection(m_screen->connection());

popular Qt bug, supposed to be fixed in 5.5 - any randr events are until then prone to crash any Qt5 application that's unfortunate to somehow™ look at screens at the wrong time.

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