Bug 351007

Summary: KWin Crash after moving mouse while "monitor off" phase
Product: [Plasma] kwin Reporter: yves duenow <yves.duenow>
Component: auroraeAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: christoph
Priority: NOR Keywords: drkonqi
Version: 5.3.90   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=341497
https://bugs.kde.org/show_bug.cgi?id=351546
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description yves duenow 2015-08-05 18:51:37 UTC
Application: kwin_x11 (5.3.90)

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

-- Information about the crash:
- What I was doing when the application crashed: moved the mouse to wake the box up from "monitor off" - phase
the shell is still responsive.

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

Thread 4 (Thread 0x7ff043fff700 (LWP 4111)):
#0  0x00007ff062e2fb33 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ff061675c51 in qt_safe_select (nfds=12, fdread=fdread@entry=0x7ff038000a78, fdwrite=fdwrite@entry=0x7ff038000d08, fdexcept=fdexcept@entry=0x7ff038000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007ff061677752 in select (timeout=0x0, exceptfds=0x7ff038000f98, writefds=0x7ff038000d08, readfds=0x7ff038000a78, nfds=<optimized out>, this=0x7ff0380008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7ff0380008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007ff061677ccd in QEventDispatcherUNIX::processEvents (this=0x7ff0380008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007ff061620272 in QEventLoop::exec (this=this@entry=0x7ff043ffede0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007ff061431664 in QThread::exec (this=this@entry=0x860310) at thread/qthread.cpp:503
#7  0x00007ff05caae7c5 in QQmlThreadPrivate::run (this=0x860310) at qml/ftw/qqmlthread.cpp:141
#8  0x00007ff061436446 in QThreadPrivate::start (arg=0x860310) at thread/qthread_unix.cpp:331
#9  0x00007ff05b7302fc in start_thread (arg=0x7ff043fff700) at pthread_create.c:333
#10 0x00007ff062e36a1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7ff0420a0700 (LWP 4132)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ff060619d24 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7ff060707e40 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007ff060619d69 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007ff05b7302fc in start_thread (arg=0x7ff0420a0700) at pthread_create.c:333
#4  0x00007ff062e36a1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7ff037da0700 (LWP 4241)):
#0  0x00007ff062e2fb33 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ff061675c51 in qt_safe_select (nfds=25, fdread=fdread@entry=0x7fef9c000a78, fdwrite=fdwrite@entry=0x7fef9c000d08, fdexcept=fdexcept@entry=0x7fef9c000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007ff061677752 in select (timeout=0x0, exceptfds=0x7fef9c000f98, writefds=0x7fef9c000d08, readfds=0x7fef9c000a78, nfds=<optimized out>, this=0x7fef9c0008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7fef9c0008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007ff061677ccd in QEventDispatcherUNIX::processEvents (this=0x7fef9c0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007ff061620272 in QEventLoop::exec (this=this@entry=0x7ff037d9fde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007ff061431664 in QThread::exec (this=this@entry=0xf00ba0) at thread/qthread.cpp:503
#7  0x00007ff05caae7c5 in QQmlThreadPrivate::run (this=0xf00ba0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007ff061436446 in QThreadPrivate::start (arg=0xf00ba0) at thread/qthread_unix.cpp:331
#9  0x00007ff05b7302fc in start_thread (arg=0x7ff037da0700) at pthread_create.c:333
#10 0x00007ff062e36a1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ff06334d7c0 (LWP 4078)):
[KCrash Handler]
#6  0x00007ff061991828 in QScreen::devicePixelRatio (this=<optimized out>) at kernel/qscreen.cpp:261
#7  0x00007ff05cf86915 in qsg_device_pixel_ratio (ctx=0x14e8e40) at scenegraph/qsgdefaultglyphnode_p.cpp:76
#8  QSGTextMaskShader::updateState (this=this@entry=0x1693110, state=..., newEffect=newEffect@entry=0x21fd3b0, oldEffect=oldEffect@entry=0x0) at scenegraph/qsgdefaultglyphnode_p.cpp:154
#9  0x00007ff05cf86a7b in QSG8BitTextMaskShader::updateState (this=0x1693110, state=..., newEffect=0x21fd3b0, oldEffect=0x0) at scenegraph/qsgdefaultglyphnode_p.cpp:178
#10 0x00007ff05cf5db51 in QSGBatchRenderer::Renderer::renderMergedBatch (this=0x1698980, batch=0x17d6950) at scenegraph/coreapi/qsgbatchrenderer.cpp:2263
#11 0x00007ff05cf5f58d in QSGBatchRenderer::Renderer::renderBatches (this=this@entry=0x1698980) at scenegraph/coreapi/qsgbatchrenderer.cpp:2501
#12 0x00007ff05cf65465 in QSGBatchRenderer::Renderer::render (this=<optimized out>) at scenegraph/coreapi/qsgbatchrenderer.cpp:2674
#13 0x00007ff05cf706d4 in QSGRenderer::renderScene (this=0x1698980, bindable=...) at scenegraph/coreapi/qsgrenderer.cpp:208
#14 0x00007ff05cf70f37 in QSGRenderer::renderScene (this=<optimized out>, fboId=<optimized out>) at scenegraph/coreapi/qsgrenderer.cpp:161
#15 0x00007ff05cf8118e in QSGRenderContext::renderNextFrame (this=0x1648310, renderer=0x1698980, fboId=<optimized out>) at scenegraph/qsgcontext.cpp:558
#16 0x00007ff05cfcad5c in QQuickWindowPrivate::renderSceneGraph (this=this@entry=0x1194460, size=...) at items/qquickwindow.cpp:383
#17 0x00007ff05d0b0bbe in QQuickRenderControl::render (this=<optimized out>) at items/qquickrendercontrol.cpp:309
#18 0x00007ff048435508 in operator() (__closure=<synthetic pointer>) at /var/tmp/notmpfs/portage/kde-plasma/kwin-9999/work/kwin-9999/clients/aurorae/src/aurorae.cpp:363
#19 call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:495
#20 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 0x00007ff061651a88 in call (a=<optimized out>, r=0xf002d0, this=0x1194860) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#23 QMetaObject::activate (sender=sender@entry=0x1287cb0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3703
#24 0x00007ff061652997 in QMetaObject::activate (sender=sender@entry=0x1287cb0, m=m@entry=0x7ff06186ee00 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3583
#25 0x00007ff0616d5170 in QTimer::timeout (this=this@entry=0x1287cb0) at .moc/moc_qtimer.cpp:197
#26 0x00007ff06165ff38 in QTimer::timerEvent (this=0x1287cb0, e=<optimized out>) at kernel/qtimer.cpp:247
#27 0x00007ff061652ff3 in QObject::event (this=0x1287cb0, e=<optimized out>) at kernel/qobject.cpp:1268
#28 0x00007ff061f442bc in QApplicationPrivate::notify_helper (this=this@entry=0x6136c0, receiver=receiver@entry=0x1287cb0, e=e@entry=0x7fffb858f520) at kernel/qapplication.cpp:3717
#29 0x00007ff061f49710 in QApplication::notify (this=0x7fffb858f760, receiver=0x1287cb0, e=0x7fffb858f520) at kernel/qapplication.cpp:3500
#30 0x00007ff061622943 in QCoreApplication::notifyInternal (this=0x7fffb858f760, receiver=0x1287cb0, event=event@entry=0x7fffb858f520) at kernel/qcoreapplication.cpp:965
#31 0x00007ff0616794c5 in sendEvent (event=0x7fffb858f520, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#32 QTimerInfoList::activateTimers (this=0x6b77d8) at kernel/qtimerinfo_unix.cpp:637
#33 0x00007ff0616773f0 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x6a19b0) at kernel/qeventdispatcher_unix.cpp:549
#34 0x00007ff061677c9b in QEventDispatcherUNIX::processEvents (this=0x6a19b0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:611
#35 0x00007ff04d310b15 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#36 0x00007ff061620272 in QEventLoop::exec (this=this@entry=0x7fffb858f680, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#37 0x00007ff061628104 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#38 0x00007ff06196386c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1528
#39 0x00007ff061f40045 in QApplication::exec () at kernel/qapplication.cpp:2977
#40 0x00007ff0630ee434 in kdemain (argc=1, argv=0x7fffb858f8c8) at /var/tmp/notmpfs/portage/kde-plasma/kwin-9999/work/kwin-9999/main_x11.cpp:303
#41 0x00007ff062d71790 in __libc_start_main (main=0x400820 <main(int, char**)>, argc=1, argv=0x7fffb858f8c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb858f8b8) at libc-start.c:289
#42 0x0000000000400859 in _start ()

Reported using DrKonqi
Comment 1 Thomas Lübking 2015-08-05 19:14:29 UTC
Crash line is:
 devicePixelRatio = ctx->screen()->devicePixelRatio();

this smells like bug #341497 - which is then not fixed with Qt 5.5 :-(

Alternatively it's a memory corruption (but it's pretty late in the closure slot)
Comment 2 Thomas Lübking 2015-08-21 16:18:40 UTC
recent updates on bug #351546 indicate this is very much likely bug #341497 which is actually https://bugreports.qt.io/browse/QTBUG-32973
Comment 3 Thomas Lübking 2015-09-29 19:18:06 UTC
*** Bug 353335 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Cullmann 2015-10-05 13:21:54 UTC
Thats one of the many variants of

https://bugreports.qt.io/browse/QTBUG-42985

And no, not fixed, not even with all patches in that bug.
Please report more info there, to give them a better chance to fix it and raise awareness, the kde bugtracker doesn't help for that.
Comment 5 Thomas Lübking 2015-10-05 13:27:15 UTC
Let's concentrate them on ur side ;-)

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