Bug 340004

Summary: krunner crashed on screen resize - QWindow::screenChanged
Product: [Plasma] krunner Reporter: Luiz Angelo De Luca <luizluca>
Component: generalAssignee: Vishesh Handa <me>
Status: RESOLVED FIXED    
Severity: crash CC: a.pronobis, berry.whitetiger, frapell, james.ellis, kde, mschiff, pawel, ronwilhoite
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=340005
https://bugs.kde.org/show_bug.cgi?id=336511
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Backtrace
Backtrace for KDE 5.2
krunner crash when screen unplugged
plasmashell crash when screen unplugged

Description Luiz Angelo De Luca 2014-10-15 20:07:59 UTC
Probably it is not krunner specific. Krunner crashed when I changed display config in systemsettings. This is crash BT:

Application: krunner (krunner), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f89a8319780 (LWP 32593))]

Thread 1 (Thread 0x7f89a8319780 (LWP 32593)):
[KCrash Handler]
#5  0x00007f89a3fd44c9 in raise () from /lib64/libc.so.6
#6  0x00007f89a3fd5958 in abort () from /lib64/libc.so.6
#7  0x00007f89a43b2655 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib64/libstdc++.so.6
#8  0x00007f89a43b07c6 in ?? () from /usr/lib64/libstdc++.so.6
#9  0x00007f89a43b07f3 in std::terminate() () from /usr/lib64/libstdc++.so.6
#10 0x00007f89a43b12cf in __cxa_pure_virtual () from /usr/lib64/libstdc++.so.6
#11 0x00007f89a4df945a in QPlatformScreen::physicalSize (this=<optimized out>) at kernel/qplatformscreen.cpp:139
#12 0x00007f89a4e334f2 in QScreen::physicalSize (this=this@entry=0x194fd80) at kernel/qscreen.cpp:243
#13 0x00007f89a4e33599 in QScreen::physicalDotsPerInch (this=this@entry=0x194fd80) at kernel/qscreen.cpp:166
#14 0x00007f89a75d8402 in QQuickScreenAttached::screenChanged (this=0x1e863f0, screen=0x194fce0) at /usr/src/debug/qtdeclarative-opensource-src-5.3.2/src/quick/items/qquickscreen.cpp:315
#15 0x00007f89a4904c76 in QMetaObject::activate (sender=sender@entry=0x7fff29b23590, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff29b22910) at kernel/qobject.cpp:3681
#16 0x00007f89a4905137 in QMetaObject::activate (sender=sender@entry=0x7fff29b23590, m=m@entry=0x7f89a5416400 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff29b22910) at kernel/qobject.cpp:3547
#17 0x00007f89a4e0e02f in QWindow::screenChanged (this=this@entry=0x7fff29b23590, _t1=_t1@entry=0x194fce0) at .moc/moc_qwindow.cpp:625
#18 0x00007f89a4e10a00 in QWindowPrivate::setScreen (this=0x19d3b10, newScreen=0x194fce0, recreate=<optimized out>) at kernel/qwindow.cpp:372
#19 0x00007f89a4e10b82 in QWindow::screenDestroyed (this=0x7fff29b23590, object=<optimized out>) at kernel/qwindow.cpp:1650
#20 0x00007f89a4904c76 in QMetaObject::activate (sender=sender@entry=0x194fd80, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff29b22ad0) at kernel/qobject.cpp:3681
#21 0x00007f89a4905137 in QMetaObject::activate (sender=sender@entry=0x194fd80, m=m@entry=0x7f89a4d12de0 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff29b22ad0) at kernel/qobject.cpp:3547
#22 0x00007f89a49051cf in QObject::destroyed (this=this@entry=0x194fd80, _t1=_t1@entry=0x194fd80) at .moc/moc_qobject.cpp:205
#23 0x00007f89a490c6f0 in QObject::~QObject (this=0x194fd80, __in_chrg=<optimized out>) at kernel/qobject.cpp:901
#24 0x00007f89a5153c17 in ~QScreen (this=0x194fd80, __in_chrg=<optimized out>) at kernel/qscreen.h:64
#25 QScreen::~QScreen (this=0x194fd80, __in_chrg=<optimized out>) at kernel/qscreen.h:64
#26 0x00007f89a4df960a in QPlatformScreen::~QPlatformScreen (this=0x1952870, __in_chrg=<optimized out>) at kernel/qplatformscreen.cpp:65
#27 0x00007f8996b1e599 in QXcbScreen::~QXcbScreen (this=0x1952870, __in_chrg=<optimized out>) at qxcbscreen.cpp:215
#28 0x00007f8996b124fb in QXcbConnection::updateScreens (this=this@entry=0x193a320) at qxcbconnection.cpp:258
#29 0x00007f8996b13165 in QXcbConnection::handleXcbEvent (this=this@entry=0x193a320, event=event@entry=0x205a100) at qxcbconnection.cpp:931
#30 0x00007f8996b142db in QXcbConnection::processXcbEvents (this=0x193a320) at qxcbconnection.cpp:1244
#31 0x00007f89a4905916 in QObject::event (this=0x193a320, e=<optimized out>) at kernel/qobject.cpp:1241
#32 0x00007f89a7a78d1c in QApplicationPrivate::notify_helper (this=this@entry=0x1929e40, receiver=receiver@entry=0x193a320, e=e@entry=0x20ad0f0) at kernel/qapplication.cpp:3499
#33 0x00007f89a7a7dc56 in QApplication::notify (this=0x7fff29b23540, receiver=0x193a320, e=0x20ad0f0) at kernel/qapplication.cpp:3282
#34 0x00007f89a48d5d25 in QCoreApplication::notifyInternal (this=0x7fff29b23540, receiver=0x193a320, event=event@entry=0x20ad0f0) at kernel/qcoreapplication.cpp:935
#35 0x00007f89a48d7b77 in sendEvent (event=0x20ad0f0, receiver=<optimized out>) at kernel/qcoreapplication.h:237
#36 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x19282a0) at kernel/qcoreapplication.cpp:1539
#37 0x00007f89a48d81a8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1397
#38 0x00007f89a492d643 in postEventSourceDispatch (s=s@entry=0x198f540) at kernel/qeventdispatcher_glib.cpp:279
#39 0x00007f89a3878316 in g_main_dispatch (context=0x194ee00) at gmain.c:3066
#40 g_main_context_dispatch (context=context@entry=0x194ee00) at gmain.c:3642
#41 0x00007f89a3878668 in g_main_context_iterate (context=context@entry=0x194ee00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
#42 0x00007f89a387870c in g_main_context_iteration (context=0x194ee00, may_block=1) at gmain.c:3774
#43 0x00007f89a492cabc in QEventDispatcherGlib::processEvents (this=0x192f180, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#44 0x00007f89a48d3c3b in QEventLoop::exec (this=this@entry=0x7fff29b234c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#45 0x00007f89a48db296 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#46 0x0000000000407614 in main ()

Also, kwin crashed as well (that I'll report latter). Thiis is for kwin:

Thread 4 (Thread 0x7fa43c1d7700 (LWP 647)):
[KCrash Handler]
#5  0x00007fa4d6e3b2ee in ?? () from /usr/lib64/libnvidia-glcore.so.340.46
#6  0x00007fa4d6e3c247 in ?? () from /usr/lib64/libnvidia-glcore.so.340.46
#7  0x00007fa4d6c7e050 in ?? () from /usr/lib64/libnvidia-glcore.so.340.46
#8  0x00007fa4d6959984 in ?? () from /usr/lib64/libnvidia-glcore.so.340.46
#9  0x00007fa4d695a6bd in ?? () from /usr/lib64/libnvidia-glcore.so.340.46
#10 0x00007fa4d695a8c1 in ?? () from /usr/lib64/libnvidia-glcore.so.340.46
#11 0x00007fa4e3103c97 in glBindFramebuffer (framebuffer=2, target=36160, this=0x1f99db0) at /usr/include/qt5/QtGui/qopenglfunctions.h:1124
#12 QSGBindableFboId::bind (this=0x7fa43c1d6d00) at /usr/src/debug/qtdeclarative-opensource-src-5.3.2/src/quick/scenegraph/coreapi/qsgrenderer.cpp:107
#13 0x00007fa4e310415b in QSGRenderer::renderScene (this=this@entry=0x1eb4650, bindable=...) at /usr/src/debug/qtdeclarative-opensource-src-5.3.2/src/quick/scenegraph/coreapi/qsgrenderer.cpp:242
#14 0x00007fa4e3112cc2 in QSGRenderContext::renderNextFrame (this=0x204b0a0, renderer=0x1eb4650, fboId=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.3.2/src/quick/scenegraph/qsgcontext.cpp:354
#15 0x00007fa4e314e634 in QQuickWindowPrivate::renderSceneGraph (this=this@entry=0x1f08200, size=...) at /usr/src/debug/qtdeclarative-opensource-src-5.3.2/src/quick/items/qquickwindow.cpp:386
#16 0x00007fa4e312f137 in QSGRenderThread::syncAndRender (this=this@entry=0x2011d60) at /usr/src/debug/qtdeclarative-opensource-src-5.3.2/src/quick/scenegraph/qsgthreadedrenderloop.cpp:616
#17 0x00007fa4e312fb88 in QSGRenderThread::run (this=0x2011d60) at /usr/src/debug/qtdeclarative-opensource-src-5.3.2/src/quick/scenegraph/qsgthreadedrenderloop.cpp:704
#18 0x00007fa4e4709e6f in QThreadPrivate::start (arg=0x2011d60) at thread/qthread_unix.cpp:345
#19 0x00007fa4ddbf00db in start_thread () from /lib64/libpthread.so.0
#20 0x00007fa4e67d958d in clone () from /lib64/libc.so.6

Reproducible: Sometimes

Steps to Reproduce:
1.go to system settings
2.change screen config (I'm in a multihead setup)


Actual Results:  
3. krunner and kwin crashed.

Expected Results:  
3. no crashes
Comment 1 Luiz Angelo De Luca 2014-10-15 20:14:26 UTC
Related to Bug 340005.

I'm using kde5 packages from OpenSuSE OBS
Comment 3 Luiz Angelo De Luca 2014-10-15 20:41:47 UTC
Seems to be something similar to them
Comment 4 a.pronobis 2014-10-31 02:32:24 UTC
I'm experiencing the same problem on Kubuntu 14.10 with Plasma 5 tech preview.
Comment 5 a.pronobis 2014-10-31 02:34:23 UTC
Created attachment 89388 [details]
Backtrace

I attach my backtrace for this issue.
Comment 6 a.pronobis 2015-02-04 16:29:20 UTC
Still the same problem exists in KDE 5.2. I attach the backtrace.
Comment 7 a.pronobis 2015-02-04 16:30:00 UTC
Created attachment 90910 [details]
Backtrace for KDE 5.2
Comment 8 Bhushan Shah 2015-02-26 15:13:43 UTC
*** Bug 343959 has been marked as a duplicate of this bug. ***
Comment 9 Bhushan Shah 2015-04-07 12:25:13 UTC
*** Bug 345951 has been marked as a duplicate of this bug. ***
Comment 10 Franco Pellegrini 2015-04-27 23:09:21 UTC
I'm having this exact same issue when disconnecting an external monitor on Kubuntu 15.04:
 - plasma 5.2.2
 - qt 5.4.1
Comment 11 Vishesh Handa 2015-05-11 15:51:33 UTC
*** Bug 344336 has been marked as a duplicate of this bug. ***
Comment 12 jamese 2015-06-23 05:48:36 UTC
Not sure if this is related but I found this bug via #346915 and #345951.

When unplugging my attached Dell U2711, connected via  Displayport, krunner and plasmashell crash. Happens every time the screen disconnects.

See upcoming  crash reports.
Comment 13 jamese 2015-06-23 05:49:34 UTC
Created attachment 93295 [details]
krunner crash when screen unplugged
Comment 14 jamese 2015-06-23 05:50:27 UTC
Created attachment 93296 [details]
plasmashell crash when screen unplugged

This happens at the same time as the krunner crash.
Comment 15 Christoph Feck 2015-07-28 09:12:54 UTC
*** Bug 350333 has been marked as a duplicate of this bug. ***
Comment 16 David Edmundson 2015-08-14 00:12:47 UTC
This fixed in Qt 5.5