Bug 333482

Summary: Crash on systray tooltip
Product: [Plasma] plasmashell Reporter: Hrvoje Senjan <hrvoje.senjan>
Component: generalAssignee: Sebastian Kügler <sebas>
Status: RESOLVED FIXED    
Severity: crash CC: aleixpol, bhush94, notmart
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Hrvoje Senjan 2014-04-15 22:03:00 UTC
was hovering over systray icons, they got stuck -> crash

Reproducible: Sometimes




[KCrash Handler]
#5  0x00007fafa73d125d in Plasma::WindowThumbnail::windowToTextureGLX (this=this@entry=0x7fb047741250, textureNode=textureNode@entry=0x7fb0471f7ff0) at /usr/src/debug/plasma-framework-4.99.0~20140414~38b513e/src/declarativeimports/core/windowthumbnail.cpp:228
#6  0x00007fafa73d1cb8 in Plasma::WindowThumbnail::windowToTexture (this=this@entry=0x7fb047741250, textureNode=textureNode@entry=0x7fb0471f7ff0) at /usr/src/debug/plasma-framework-4.99.0~20140414~38b513e/src/declarativeimports/core/windowthumbnail.cpp:326
#7  0x00007fafa73d1fd4 in Plasma::WindowThumbnail::updatePaintNode (this=0x7fb047741250, oldNode=<optimized out>, updatePaintNodeData=<optimized out>) at /usr/src/debug/plasma-framework-4.99.0~20140414~38b513e/src/declarativeimports/core/windowthumbnail.cpp:152
#8  0x00007fb041382820 in QQuickWindowPrivate::updateDirtyNode (this=this@entry=0x7fb0452b7d60, item=item@entry=0x7fb047741250) at items/qquickwindow.cpp:2648
#9  0x00007fb041383424 in QQuickWindowPrivate::updateDirtyNodes (this=this@entry=0x7fb0452b7d60) at items/qquickwindow.cpp:2473
#10 0x00007fb04138348d in QQuickWindowPrivate::syncSceneGraph (this=this@entry=0x7fb0452b7d60) at items/qquickwindow.cpp:347
#11 0x00007fb04135f64c in QSGGuiThreadRenderLoop::renderWindow (this=this@entry=0x7fb043c9e500, window=0x7fb04501e260) at scenegraph/qsgrenderloop.cpp:365
#12 0x00007fb04135fdce in QSGGuiThreadRenderLoop::exposureChanged (this=0x7fb043c9e500, window=0x7fb04501e260) at scenegraph/qsgrenderloop.cpp:414
#13 0x00007fb03bdc43c9 in QWindow::event (this=this@entry=0x7fb04501e260, ev=ev@entry=0x7fff96fce290) at kernel/qwindow.cpp:1956
#14 0x00007fb041389bb3 in QQuickWindow::event (this=this@entry=0x7fb04501e260, e=e@entry=0x7fff96fce290) at items/qquickwindow.cpp:1339
#15 0x00007fb03fa1e249 in PlasmaQuick::Dialog::event (this=this@entry=0x7fb04501e260, event=event@entry=0x7fff96fce290) at /usr/src/debug/plasma-framework-4.99.0~20140414~38b513e/src/plasmaquick/dialog.cpp:741
#16 0x00007fafa73ca045 in ToolTipDialog::event (this=0x7fb04501e260, e=0x7fff96fce290) at /usr/src/debug/plasma-framework-4.99.0~20140414~38b513e/src/declarativeimports/core/tooltipdialog.cpp:122
#17 0x00007fb03c527f1c in QApplicationPrivate::notify_helper (this=this@entry=0x7fb04393af90, receiver=receiver@entry=0x7fb04501e260, e=e@entry=0x7fff96fce290) at kernel/qapplication.cpp:3500
#18 0x00007fb03c52cc96 in QApplication::notify (this=0x7fff96fce6a0, receiver=0x7fb04501e260, e=0x7fff96fce290) at kernel/qapplication.cpp:3283
#19 0x00007fb03b8895e5 in QCoreApplication::notifyInternal (this=0x7fff96fce6a0, receiver=receiver@entry=0x7fb04501e260, event=event@entry=0x7fff96fce290) at kernel/qcoreapplication.cpp:935
#20 0x00007fb03bdbdb96 in sendSpontaneousEvent (event=0x7fff96fce290, receiver=0x7fb04501e260) at ../../src/corelib/kernel/qcoreapplication.h:240
#21 QGuiApplicationPrivate::processExposeEvent (e=0x7fb04717eaf0) at kernel/qguiapplication.cpp:2520
#22 0x00007fb03bdbe6a5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x7fb04717eaf0) at kernel/qguiapplication.cpp:1566
#23 0x00007fb03bda53b8 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:579
#24 0x00007fb02dc30ca0 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:78
#25 0x00007fb036187c64 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#26 0x00007fb036187ea8 in ?? () from /usr/lib64/libglib-2.0.so.0
#27 0x00007fb036187f4c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#28 0x00007fb03b8e02dc in QEventDispatcherGlib::processEvents (this=0x7fb043949ae0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#29 0x00007fb03b8874fb in QEventLoop::exec (this=this@entry=0x7fff96fce550, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#30 0x00007fb03b88eb26 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#31 0x00007fb0419fce0e in main (argc=2, argv=<optimized out>) at /usr/src/debug/plasma-workspace-4.95.0~20140414~1c97edd/shell/main.cpp:91
Comment 1 Marco Martin 2014-04-16 17:52:47 UTC
This stack doesn't seem to look really complete, looks like there should be still something on top of Plasma::WindowThumbnail::windowToTextureGLX ?
Comment 2 Hrvoje Senjan 2014-04-18 14:52:47 UTC
that was the whole bt that had any significance; i got it only once or twice, will see do i get it with yesterday's tooltip fix commit
Comment 3 Martin Flöser 2014-04-28 09:08:32 UTC
possible fix: https://git.reviewboard.kde.org/r/117824/
Comment 4 Martin Flöser 2014-04-30 05:20:23 UTC
*** Bug 334108 has been marked as a duplicate of this bug. ***
Comment 5 Martin Flöser 2014-04-30 11:18:47 UTC
Git commit af5a855da42c3ada2f0e802c68ad8f7c0e73b38e by Martin Gräßlin.
Committed on 28/04/2014 at 08:59.
Pushed by graesslin into branch 'master'.

Discard window thumbnail pixmap after texture got destroyed by SceneGraph

If the window holding the WindowThumbnail item goes away the texture hold
by the node is destroyed but our bound window pixmap is not yet freed.
This results in incorrect state the next time the WindowThumbnail is
shown.

To get back into a clean state discardPixmap() is called if there is no
texture but a bound low level pixmap.
REVIEW: 117824

M  +16   -2    src/declarativeimports/core/windowthumbnail.cpp

http://commits.kde.org/plasma-framework/af5a855da42c3ada2f0e802c68ad8f7c0e73b38e