Summary: | Crash when closing "Add Widgets" panel in plasma-desktop | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | David Edmundson <kde> |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aseigo, hrvoje.senjan |
Priority: | NOR | Keywords: | drkonqi |
Version: | 4.10.60 | Flags: | thomas.luebking:
ReviewRequest+
|
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
URL: | https://git.reviewboard.kde.org/r/110871/ | ||
Latest Commit: | http://commits.kde.org/kde-workspace/811729f9a45536bc3071e651b25e3360f5ca75a0 | Version Fixed In: | 4.11 |
Attachments: |
New crash information added by DrKonqi
Patch attempt New crash information added by DrKonqi |
Description
David Edmundson
2013-06-05 23:10:35 UTC
I think I can confirm this crash, at least KWin was crashing for me when trying to add the new tasks plasmoid but the crash trace was empty. Update - I can reproduce quite often. Not every time I close that panel but it has happened to me several times now. > Update - I can reproduce quite often.
me too. I have a DrKonqi with the crash trace open and already started to
track it down and have a pretty fair guess why it's crashing, just need to
find the root cause instead of adding many if (m_shadow)
Just a guess: shadow.cpp:205 bool Shadow::updateShadow() { QVector<long> data = Shadow::readX11ShadowProperty(m_topLevel->window()); if (data.isEmpty()) { if (m_topLevel && m_topLevel->effectWindow() && m_topLevel->effectWindow()->sceneWindow()) m_topLevel->effectWindow()->sceneWindow()->updateShadow(0); ----> this lacks a quad rebuild and is likely the source of our *plenty* shadow quad related bugs ;-) deleteLater(); return false; } init(data); if (m_topLevel && m_topLevel->effectWindow()) m_topLevel->effectWindow()->buildQuads(true); return true; } Alternatively the quad rebuild could be done in shadow.h inline void Scene::Window::updateShadow(Shadow* shadow) { m_shadow = shadow; } Created attachment 80343 [details]
New crash information added by DrKonqi
kwin (4.10.60) on KDE Platform 4.10.60 using Qt 4.8.5
- What I was doing when the application crashed:
As with the original reporter, I had opened the panel toolbox, then clicked on the Add Widgets button, then clicked on a window which hid the toolbox. crash ensues. with today's master.
-- Backtrace (Reduced):
#6 KWin::SceneOpenGL2Window::setupLeafNodes (this=this@entry=0x9766d18, nodes=nodes@entry=0xbffec4dc, quads=quads@entry=0xbffec4c8, data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:1348
#7 0xb76676e9 in KWin::SceneOpenGL2Window::performPaint (this=0x9766d18, mask=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:1474
#8 0xb766b31d in KWin::SceneOpenGL2::performPaintWindow (this=this@entry=0x9cf87e8, w=w@entry=0x992a920, mask=mask@entry=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:750
#9 0xb766b4f7 in KWin::SceneOpenGL2::finalDrawWindow (this=0x9cf87e8, w=w@entry=0x992a920, mask=mask@entry=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/scene_opengl.cpp:736
#10 0xb767be68 in KWin::EffectsHandlerImpl::drawWindow (this=0x9de8350, w=w@entry=0x992a920, mask=mask@entry=10, region=..., data=...) at /home/aseigo/kdesrc/kde/kde-workspace/kwin/effects.cpp:452
Created attachment 80350 [details] Patch attempt It doesn't crash here, but my plasma is more like 4.10.4, so the behaviour could differ there. Attached is a patch for the guess in comment #4 - maybe someone could give it a try? Created attachment 80364 [details]
New crash information added by DrKonqi
kwin (4.10.60 "release 10") on KDE Platform 4.10.60 "release 10" using Qt 4.8.5
- What I was doing when the application crashed:
As everyone already mentioned, crash happened after trying to add widget to panel...
@Thomas, will try our patch
-- Backtrace (Reduced):
#6 KWin::SceneOpenGL2Window::setupLeafNodes (this=this@entry=0x29209f0, nodes=nodes@entry=0x7fff349454f0, quads=quads@entry=0x7fff34945430, data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:1348
#7 0x00007f7efa0f4a85 in KWin::SceneOpenGL2Window::performPaint (this=this@entry=0x29209f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:1474
#8 0x00007f7efa0f7fa4 in KWin::SceneOpenGL2::performPaintWindow (this=this@entry=0x201abb0, w=w@entry=0x25d45f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:750
#9 0x00007f7efa0f8145 in KWin::SceneOpenGL2::finalDrawWindow (this=0x201abb0, w=w@entry=0x25d45f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/scene_opengl.cpp:736
#10 0x00007f7efa1066b5 in KWin::EffectsHandlerImpl::drawWindow (this=0x22f7890, w=w@entry=0x25d45f0, mask=mask@entry=10, region=..., data=...) at /usr/src/debug/kde-workspace-git/kwin/effects.cpp:452
err, your patch ;-) (In reply to comment #6) > Attached is a patch for the guess in comment #4 - maybe someone could give > it a try? Works, thanks! :-) (In reply to comment #6) > It doesn't crash here, but my plasma is more like 4.10.4, so the behaviour > could differ there. Maybe a master only regression, or maybe you are not using Air? ;-) (i also failed to reproduce with a theme that doesn't have "shadow" prefix - otherwise it's easily reproducible if one adds e.g. (icon-)task to desktop, and tries to hover above the widget) Git commit 811729f9a45536bc3071e651b25e3360f5ca75a0 by Thomas Lübking. Committed on 07/06/2013 at 20:15. Pushed by luebking into branch 'master'. rebuild quads when removing shadows for empty prop FIXED-IN: 4.11 REVIEW: 110871 M +4 -1 kwin/shadow.cpp http://commits.kde.org/kde-workspace/811729f9a45536bc3071e651b25e3360f5ca75a0 |