Bug 353335 - kwin crash after (screen off)
Summary: kwin crash after (screen off)
Status: RESOLVED DUPLICATE of bug 351007
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-09-29 19:13 UTC by yves duenow
Modified: 2015-10-05 13:57 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description yves duenow 2015-09-29 19:13:35 UTC
Application: kwin_x11 (5.4.90)

Qt Version: 5.5.0
Operating System: Linux 4.2.1-gentoo x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
Wake up from screen of mode after not using the computer for a while

The crash can be reproduced sometimes.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3c716d17c0 (LWP 4337))]

Thread 4 (Thread 0x7f3c51f91700 (LWP 4550)):
#0  0x00007f3c711e0b33 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3c6f896c51 in qt_safe_select (nfds=12, fdread=fdread@entry=0x7f3c44000a78, fdwrite=fdwrite@entry=0x7f3c44000d08, fdexcept=fdexcept@entry=0x7f3c44000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f3c6f898752 in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f3c44000f98, writefds=0x7f3c44000d08, readfds=0x7f3c44000a78, nfds=<optimized out>, this=0x7f3c440008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f3c440008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f3c6f898ccd in QEventDispatcherUNIX::processEvents (this=0x7f3c440008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f3c6f841272 in QEventLoop::exec (this=this@entry=0x7f3c51f90de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f3c6f652664 in QThread::exec (this=this@entry=0x875ac0) at thread/qthread.cpp:503
#7  0x00007f3c6a1577c5 in QQmlThreadPrivate::run (this=0x875ac0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f3c6f657446 in QThreadPrivate::start (arg=0x875ac0) at thread/qthread_unix.cpp:331
#9  0x00007f3c708212fc in start_thread (arg=0x7f3c51f91700) at pthread_create.c:333
#10 0x00007f3c711e7a1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f3c41086700 (LWP 4568)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f3c6e832d24 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f3c6e920e40 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f3c6e832d69 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f3c708212fc in start_thread (arg=0x7f3c41086700) at pthread_create.c:333
#4  0x00007f3c711e7a1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f3c52cf9700 (LWP 4621)):
#0  0x00007f3c711e0b33 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3c6f896c51 in qt_safe_select (nfds=11, fdread=fdread@entry=0x7f3c4c000a78, fdwrite=fdwrite@entry=0x7f3c4c000d08, fdexcept=fdexcept@entry=0x7f3c4c000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f3c6f898752 in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f3c4c000f98, writefds=0x7f3c4c000d08, readfds=0x7f3c4c000a78, nfds=<optimized out>, this=0x7f3c4c0008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f3c4c0008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f3c6f898ccd in QEventDispatcherUNIX::processEvents (this=0x7f3c4c0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f3c6f841272 in QEventLoop::exec (this=this@entry=0x7f3c52cf8de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f3c6f652664 in QThread::exec (this=this@entry=0xe3c120) at thread/qthread.cpp:503
#7  0x00007f3c6a1577c5 in QQmlThreadPrivate::run (this=0xe3c120) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f3c6f657446 in QThreadPrivate::start (arg=0xe3c120) at thread/qthread_unix.cpp:331
#9  0x00007f3c708212fc in start_thread (arg=0x7f3c52cf9700) at pthread_create.c:333
#10 0x00007f3c711e7a1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f3c716d17c0 (LWP 4337)):
[KCrash Handler]
#6  0x00007f3c6fbac168 in QScreen::devicePixelRatio (this=<optimized out>) at kernel/qscreen.cpp:261
#7  0x00007f3c6a62f915 in qsg_device_pixel_ratio (ctx=0x13ec8d0) at scenegraph/qsgdefaultglyphnode_p.cpp:76
#8  QSGTextMaskShader::updateState (this=this@entry=0xd7b380, state=..., newEffect=newEffect@entry=0x684e60, oldEffect=oldEffect@entry=0x0) at scenegraph/qsgdefaultglyphnode_p.cpp:154
#9  0x00007f3c6a62fa7b in QSG8BitTextMaskShader::updateState (this=0xd7b380, state=..., newEffect=0x684e60, oldEffect=0x0) at scenegraph/qsgdefaultglyphnode_p.cpp:178
#10 0x00007f3c6a606b51 in QSGBatchRenderer::Renderer::renderMergedBatch (this=0x1077710, batch=0x16f6150) at scenegraph/coreapi/qsgbatchrenderer.cpp:2263
#11 0x00007f3c6a60858d in QSGBatchRenderer::Renderer::renderBatches (this=this@entry=0x1077710) at scenegraph/coreapi/qsgbatchrenderer.cpp:2501
#12 0x00007f3c6a60e465 in QSGBatchRenderer::Renderer::render (this=<optimized out>) at scenegraph/coreapi/qsgbatchrenderer.cpp:2674
#13 0x00007f3c6a6196d4 in QSGRenderer::renderScene (this=0x1077710, bindable=...) at scenegraph/coreapi/qsgrenderer.cpp:208
#14 0x00007f3c6a619f37 in QSGRenderer::renderScene (this=<optimized out>, fboId=<optimized out>) at scenegraph/coreapi/qsgrenderer.cpp:161
#15 0x00007f3c6a62a18e in QSGRenderContext::renderNextFrame (this=0xe0a480, renderer=0x1077710, fboId=<optimized out>) at scenegraph/qsgcontext.cpp:558
#16 0x00007f3c6a673d5c in QQuickWindowPrivate::renderSceneGraph (this=this@entry=0xe095e0, size=...) at items/qquickwindow.cpp:383
#17 0x00007f3c6a759bbe in QQuickRenderControl::render (this=<optimized out>) at items/qquickrendercontrol.cpp:309
#18 0x00007f3c521ee508 in Aurorae::Decoration::<lambda()>::operator() (__closure=<synthetic pointer>) at /var/tmp/notmpfs/portage/kde-plasma/kwin-9999/work/kwin-9999/clients/aurorae/src/aurorae.cpp:363
#19 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Aurorae::Decoration::init()::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:495
#20 QtPrivate::Functor<Aurorae::Decoration::init()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:552
#21 QtPrivate::QFunctorSlotObject<Aurorae::Decoration::init()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobject_impl.h:192
#22 0x00007f3c6f872a88 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=0x128c9f0, this=0x86bdd0) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#23 QMetaObject::activate (sender=sender@entry=0x86bf60, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3703
#24 0x00007f3c6f873997 in QMetaObject::activate (sender=sender@entry=0x86bf60, m=m@entry=0x7f3c6fa8fe00 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3583
#25 0x00007f3c6f8f6170 in QTimer::timeout (this=this@entry=0x86bf60) at .moc/moc_qtimer.cpp:197
#26 0x00007f3c6f880f38 in QTimer::timerEvent (this=0x86bf60, e=<optimized out>) at kernel/qtimer.cpp:247
#27 0x00007f3c6f873ff3 in QObject::event (this=0x86bf60, e=<optimized out>) at kernel/qobject.cpp:1268
#28 0x00007f3c700a52bc in QApplicationPrivate::notify_helper (this=this@entry=0x6132f0, receiver=receiver@entry=0x86bf60, e=e@entry=0x7fff98918a00) at kernel/qapplication.cpp:3717
#29 0x00007f3c700aa710 in QApplication::notify (this=0x7fff98918c40, receiver=0x86bf60, e=0x7fff98918a00) at kernel/qapplication.cpp:3500
#30 0x00007f3c6f843943 in QCoreApplication::notifyInternal (this=0x7fff98918c40, receiver=0x86bf60, event=event@entry=0x7fff98918a00) at kernel/qcoreapplication.cpp:965
#31 0x00007f3c6f89a4c5 in QCoreApplication::sendEvent (event=0x7fff98918a00, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#32 QTimerInfoList::activateTimers (this=0x6b0848) at kernel/qtimerinfo_unix.cpp:637
#33 0x00007f3c6f8983f0 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x6990e0) at kernel/qeventdispatcher_unix.cpp:549
#34 0x00007f3c6f898c9b in QEventDispatcherUNIX::processEvents (this=0x6990e0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:611
#35 0x00007f3c5aa11b15 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#36 0x00007f3c6f841272 in QEventLoop::exec (this=this@entry=0x7fff98918b60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#37 0x00007f3c6f849104 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#38 0x00007f3c6fb8060c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1528
#39 0x00007f3c700a1045 in QApplication::exec () at kernel/qapplication.cpp:2977
#40 0x00007f3c7149f464 in kdemain (argc=1, argv=0x7fff98918da8) at /var/tmp/notmpfs/portage/kde-plasma/kwin-9999/work/kwin-9999/main_x11.cpp:303
#41 0x00007f3c71122790 in __libc_start_main (main=0x400820 <main(int, char**)>, argc=1, argv=0x7fff98918da8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff98918d98) at libc-start.c:289
#42 0x0000000000400859 in _start ()

Possible duplicates by query: bug 351007.

Reported using DrKonqi
Comment 1 Thomas Lübking 2015-09-29 19:18:06 UTC
You had this ;-)

It's unfortunately very most likely https://bugreports.qt.io/browse/QTBUG-47385 which crashes Qt5 clients at random RandR events :-(

*** This bug has been marked as a duplicate of bug 351007 ***
Comment 2 yves duenow 2015-09-29 20:03:20 UTC
Damn -.- got me. 
but i would have bet my ass.. (arsch verwettet;) this went away for a while now, so I really thought it was already fixed, so i reported it again.  sorry.

 On my system, after the crash the UI was still responsive for the windows that were showing, but the menu bar / panel has disappeared.
Comment 3 Thomas Lübking 2015-09-29 20:39:20 UTC
> but the menu bar / panel has disappeared.

Like the panel from plasmashell (usually on top/bottom of the screen)?
Sounds as if plasmashell crashed as well (what's not uncommon in case of the QScreen bug - it affects everything that "looks" at the screens at the "wrong time")

The particular crash is induced by the aurorae decoration plugin, so if you eg. used the breeze decoration *this* crash won't have hit you.

Digging around in the crashy Qt code, it relies on QGuiApplication::primaryScreen() never being 0x0, so despite the optimized out value, I'm quite confident this is the cause.