Summary: | Crash in KWin::TabBox::ClientModel::data | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | paul s. romanchenko <kde> |
Component: | tabbox | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | alexmannx13, jospoortvliet, x545 |
Priority: | NOR | Keywords: | triaged |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian unstable | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi xorg.conf |
Description
paul s. romanchenko
2010-05-12 09:35:12 UTC
the backtrace indicates that you were using alt+tab when KWin crashed. Is that correct? yes, it can be true. i don't remember correctly. On Sun, May 23, 2010 at 6:36 PM, Martin Gräßlin <kde@martin-graesslin.com> wrote: > https://bugs.kde.org/show_bug.cgi?id=237345 > > > > > > --- Comment #1 from Martin Gräßlin <kde martin-graesslin com> 2010-05-23 16:36:39 --- > the backtrace indicates that you were using alt+tab when KWin crashed. Is that > correct? > > -- > Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email > ------- You are receiving this mail because: ------- > You reported the bug. it crashes in return m_clientList[ clientIndex ]->caption(); Unfortunately the backtrace stops there. It cannot be the last entry. So it either crashed in index access (client was closed between index check and access) or in TabBoxClientImpl when accessing the caption method. So I don't think I will be able to fix that crash as I don't know how to reproduce and investigate the issue. *** Bug 245193 has been marked as a duplicate of this bug. *** *** Bug 260365 has been marked as a duplicate of this bug. *** Created attachment 55788 [details]
New crash information added by DrKonqi
kwin (4.5.5 (KDE 4.5.5) "release 1") on KDE Platform 4.5.5 (KDE 4.5.5) "release 1" using Qt 4.6.3
- What I was doing when the application crashed:
KWin keeps crashing 4-5 times a day on alt-tab. Is there anything I can do to find the culprit? I'm running KWin 4.5.5 and I'd love to get this fixed in 4.5.6 :D
I have the NVidia drivers, might be related?!?
-- Backtrace (Reduced):
#7 0xb76a077a in KWin::TabBox::ClientModel::data (this=0x83abd48, index=..., role=33) at /usr/src/debug/kdebase-workspace-4.5.5/kwin/tabbox/clientmodel.cpp:67
#8 0xb76ef382 in KWin::TabBox::ClientItemDelegate::rowSize (this=0x8394bf8, index=..., row=0) at /usr/src/debug/kdebase-workspace-4.5.5/kwin/tabbox/clientitemdelegate.cpp:264
#9 0xb76ef548 in KWin::TabBox::ClientItemDelegate::sizeHint (this=0x8394bf8, option=..., index=...) at /usr/src/debug/kdebase-workspace-4.5.5/kwin/tabbox/clientitemdelegate.cpp:82
#10 0xb61db6ce in QTableView::sizeHintForColumn (this=0x8429538, column=0) at itemviews/qtableview.cpp:2217
#11 0xb769dcfb in KWin::TabBox::TabBoxAdditionalView::sizeHint (this=0x8429538) at /usr/src/debug/kdebase-workspace-4.5.5/kwin/tabbox/tabboxview.cpp:450
> - What I was doing when the application crashed: > KWin keeps crashing 4-5 times a day on alt-tab. Is there anything I can do > to find the culprit? whatch for patterns. E.g. "It only happens when I use Firefox" or "It always happens when a window closes". A way to circumvent the problem is to use one of the effects. They don't hit the code path. Just as a note: I never see the crash and alt+tab is one of my most often used shortcuts a day. > I'm running KWin 4.5.5 and I'd love to get this fixed > in 4.5.6 :D I doubt there will be a 4.5.6, at least I won't backport to 4.5 any more. > > I have the NVidia drivers, might be related?!? I doubt it. It's not hitting any driver related pathes and believe me that the NVIDIA driver is the most stable one. see the comment in bug #260365 the lines are in workspace.cpp:700ff - since i can't reproduce this myself either, you'll have to try whether swapping those two blocks improves things for you, it's nothing but a wild guess from my side. 700 updateStackingOrder( true ); 701 702 if( tab_grab ) 703 tab_box->reset( true ); ==> 702 if( tab_grab ) 703 tab_box->reset( true ); 701 700 updateStackingOrder( true ); Created attachment 56427 [details]
New crash information added by DrKonqi
kwin (4.5.5 (KDE 4.5.5)) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.7.1
- What I was doing when the application crashed:
I was alternating between opera 11 and adobe pdf reader; this happens when I
- use the alt-tab to switch windows
- use the mouse to select the window from the task bar / manager
On another note, I have noticed a similar crash report when I activate the screen corners with the mouse in either 'show windows from current screen' and 'show all screens and windows' views.
-- Backtrace (Reduced):
#14 0xb66b0900 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#15 0xb66b5e10 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#16 0xb5b823f4 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#17 0xb7727bef in kdemain () from /usr/lib/libkdeinit4_kwin.so
#18 0x080485cb in _start ()
(In reply to comment #9) > I was alternating between opera 11 and adobe pdf reader; this happens when I > - use the alt-tab to switch windows > - use the mouse to select the window from the task bar / manager "either" or "and"? (In reply to comment #10) > (In reply to comment #9) > > I was alternating between opera 11 and adobe pdf reader; this happens when I > > - use the alt-tab to switch windows > > - use the mouse to select the window from the task bar / manager > > "either" or "and"? It occurs in both instances. Created attachment 56913 [details]
xorg.conf
Comment on attachment 56913 [details]
xorg.conf
After reading posts on various forums, it would appear (to me at least) that the nvidia video driver is not cooperating with kwin.
I decided to experiment with some driver configurations and have the current "stable" setup:
OS: Mandriva 2010.2
KDE: 4.5.5
NVidia packages installed:
libkwinnvidiahack4-4.5.5
dkms-nvidia-current-260.19.36
x11-driver-video-nvidia-current-260.19.36
nvidia-current-kernel-desktop-latest-195.36.24
nvidia-current-kernel-2.6.33.7-desktop-2mnb-195.36.24
Copy of xorg.conf:
(attached)
everything from comment #9 to this comment is actually unrelated to the original report and is a different issue (sorry that we didn't notice before). As I am not able to reproduce: is the original problem still valid and is there a reliable way to reproduce? No reliable way. It's random crash. Didn't has it for a long time. well random crashers are impossible to investigate. Let's hope that someone else can provide a way to trigger the crash. It's also possible that it is fixed, but without a way to reproduce we cannot know. Git commit 05a3420175c88c7a106a245071d4bb3a75694e00 by Martin Gräßlin. Committed on 20/05/2012 at 15:52. Pushed by graesslin into branch 'master'. Use smart pointers to protect access to TabBoxClient Client holds a SharedPointer to the TabBoxClient and only provides access to a WeakPointer which is passed to TabBox. ClientModel is adjusted to hold a list of WeakPointers instead of the direct pointers. This fixes the following reproducable crash: 1. Configure both primary and secondary TabBox with different layouts 2. Use primary TabBox 3. Close a window, best the one which used to be active 4. Use secondary TabBox -> Crash The reason is that the ClientModel still contains the pointer to the deleted TabBoxClient in step 3 and while creating the layout access to the TabBoxClient is needed to get the Client's icon. By using the weak pointer it can be ensured that we don't try to dereference the deleted pointer and prevent the crash. Related: bug 290482, bug 285747 REVIEW: 105000 M +1 -4 kwin/client.cpp M +3 -3 kwin/client.h M +40 -28 kwin/tabbox/clientmodel.cpp M +1 -1 kwin/tabbox/clientmodel.h M +26 -14 kwin/tabbox/tabbox.cpp M +4 -4 kwin/tabbox/tabbox.h M +28 -6 kwin/tabbox/tabboxhandler.cpp M +6 -6 kwin/tabbox/tabboxhandler.h http://commits.kde.org/kde-workspace/05a3420175c88c7a106a245071d4bb3a75694e00 Git commit 19c0fa5abd90a46de2ef6949a15de31111f930f4 by Martin Gräßlin. Committed on 20/05/2012 at 15:52. Pushed by graesslin into branch 'KDE/4.8'. Use smart pointers to protect access to TabBoxClient Client holds a SharedPointer to the TabBoxClient and only provides access to a WeakPointer which is passed to TabBox. ClientModel is adjusted to hold a list of WeakPointers instead of the direct pointers. This fixes the following reproducable crash: 1. Configure both primary and secondary TabBox with different layouts 2. Use primary TabBox 3. Close a window, best the one which used to be active 4. Use secondary TabBox -> Crash The reason is that the ClientModel still contains the pointer to the deleted TabBoxClient in step 3 and while creating the layout access to the TabBoxClient is needed to get the Client's icon. By using the weak pointer it can be ensured that we don't try to dereference the deleted pointer and prevent the crash. Cherry-Picked from 05a3420175c88c7a106a245071d4bb3a75694e00 Related: bug 290482, bug 285747 FIXED-IN: 4.8.4 REVIEW: 105000 REVIEW: 105069 M +1 -4 kwin/client.cpp M +3 -3 kwin/client.h M +31 -22 kwin/tabbox/clientmodel.cpp M +1 -1 kwin/tabbox/clientmodel.h M +4 -2 kwin/tabbox/desktopitemdelegate.cpp M +19 -12 kwin/tabbox/tabbox.cpp M +4 -4 kwin/tabbox/tabbox.h M +28 -6 kwin/tabbox/tabboxhandler.cpp M +6 -6 kwin/tabbox/tabboxhandler.h http://commits.kde.org/kde-workspace/19c0fa5abd90a46de2ef6949a15de31111f930f4 Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |