Bug 309548 - Kwin segfault when automatically group similar windows enabled
Summary: Kwin segfault when automatically group similar windows enabled
Status: RESOLVED FIXED
Alias: None
Product: Oxygen
Classification: Plasma
Component: style (other bugs)
Version First Reported In: 4.9
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-04 19:13 UTC by Christopher
Modified: 2012-11-05 10:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher 2012-11-04 19:13:43 UTC
Application: kwin (4.9.2)
KDE Platform Version: 4.9.2
Qt Version: 4.8.3
Operating System: Linux 3.6.4-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
steps to reproduce:
systemsettings>window behaviour>window behaviour>advanced>[x] automatically group similar windows

Launch an application as user, then launch the same application as root
$application
$kdesu application

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f38145ed780 (LWP 861))]

Thread 2 (Thread 0x7f37f1151700 (LWP 866)):
#0  0x00007f380f6ba954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f3810cfead7 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007f3810cfeb09 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007f380f6b6e0f in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f3813e2631d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f38145ed780 (LWP 861)):
[KCrash Handler]
#5  0x00007f37f8837468 in Oxygen::Client::paint(QPainter&) () from /usr/lib/kde4/kwin3_oxygen_transparent.so
#6  0x00007f37f8834d1a in Oxygen::Client::paintEvent(QPaintEvent*) () from /usr/lib/kde4/kwin3_oxygen_transparent.so
#7  0x00007f38127f4fdf in KCommonDecoration::eventFilter(QObject*, QEvent*) () from /usr/lib/libkdecorations.so.4
#8  0x00007f37f882e806 in Oxygen::Client::eventFilter(QObject*, QEvent*) () from /usr/lib/kde4/kwin3_oxygen_transparent.so
#9  0x00007f380fa43756 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#10 0x00007f380ebd705c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007f380ebdb50a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#12 0x00007f381391bdf6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#13 0x00007f380fa435ee in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#14 0x00007f380ec224b4 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#15 0x00007f380ec24ac1 in QWidgetPrivate::render(QPaintDevice*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>, bool) () from /usr/lib/libQtGui.so.4
#16 0x00007f380ec24d89 in QWidget::render(QPaintDevice*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>) () from /usr/lib/libQtGui.so.4
#17 0x00007f38141bc737 in ?? () from /usr/lib/libkdeinit4_kwin.so
#18 0x00007f3814134209 in ?? () from /usr/lib/libkdeinit4_kwin.so
#19 0x00007f38141a9b28 in ?? () from /usr/lib/libkdeinit4_kwin.so
#20 0x00007f3814195b06 in ?? () from /usr/lib/libkdeinit4_kwin.so
#21 0x00007f38141b45da in ?? () from /usr/lib/libkdeinit4_kwin.so
#22 0x00007f37f11b972d in ?? () from /usr/lib/kde4/kwin4_effect_builtins.so
#23 0x00007f38141b457b in ?? () from /usr/lib/libkdeinit4_kwin.so
#24 0x00007f3814194f7a in ?? () from /usr/lib/libkdeinit4_kwin.so
#25 0x00007f38141b418a in ?? () from /usr/lib/libkdeinit4_kwin.so
#26 0x00007f38125c670a in KWin::Effect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () from /usr/lib/libkwineffects.so.1
#27 0x00007f38141b412b in ?? () from /usr/lib/libkdeinit4_kwin.so
#28 0x00007f3814197d4d in ?? () from /usr/lib/libkdeinit4_kwin.so
#29 0x00007f38141970af in ?? () from /usr/lib/libkdeinit4_kwin.so
#30 0x00007f3814194ec2 in ?? () from /usr/lib/libkdeinit4_kwin.so
#31 0x00007f38141b4353 in ?? () from /usr/lib/libkdeinit4_kwin.so
#32 0x00007f38125c6777 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () from /usr/lib/libkwineffects.so.1
#33 0x00007f38141b42fb in ?? () from /usr/lib/libkdeinit4_kwin.so
#34 0x00007f381419650b in ?? () from /usr/lib/libkdeinit4_kwin.so
#35 0x00007f38141ab132 in ?? () from /usr/lib/libkdeinit4_kwin.so
#36 0x00007f3814190218 in ?? () from /usr/lib/libkdeinit4_kwin.so
#37 0x00007f380fa57ddc in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#38 0x00007f380ebd708c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#39 0x00007f380ebdb50a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#40 0x00007f381391bdf6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#41 0x00007f380fa435ee in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#42 0x00007f380fa73fb2 in ?? () from /usr/lib/libQtCore.so.4
#43 0x00007f380fa74168 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#44 0x00007f380ec7832f in ?? () from /usr/lib/libQtGui.so.4
#45 0x00007f380fa4233f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#46 0x00007f380fa425c8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#47 0x00007f380fa47268 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#48 0x00007f3814149e24 in kdemain () from /usr/lib/libkdeinit4_kwin.so
#49 0x00007f3813d61725 in __libc_start_main () from /usr/lib/libc.so.6
#50 0x0000000000400701 in _start ()

This bug may be a duplicate of or related to bug 307842.

Possible duplicates by query: bug 307842, bug 307076, bug 298693, bug 291433.

Reported using DrKonqi
Comment 1 Christopher 2012-11-04 19:32:32 UTC
This bug is not reproducible with stock window decorations, sorry I was hasty to report before here properly troubleshotting.
Comment 2 Martin Flöser 2012-11-04 19:56:22 UTC
reassigning to Oxygen as it's Oxygen transparent
Comment 3 Christopher 2012-11-04 21:09:16 UTC
I initially installed oxygen transparent from source. I've uninstalled and added the version from the AUR. The issue is still present when oxygen transparent is selected as the window decoration.
Comment 4 Hugo Pereira Da Costa 2012-11-04 21:31:21 UTC
... can reproduce. In fact even manually grouping two windows causes a crash with oxygen-transparent.
Will investigate tomorrow.
Comment 5 Hugo Pereira Da Costa 2012-11-04 22:08:33 UTC
Git commit d1b1d27752e4ade81418a1951932408683ec598f by Hugo Pereira Da Costa.
Committed on 04/11/2012 at 22:56.
Pushed by hpereiradacosta into branch 'master'.

Sync to 27913bd1e29f268bb7341c66633096a3ff323aab.
Fixed access to _itemData.

M  +22   -17   decoration/config/oxygenexceptionlistwidget.cpp
M  +1    -1    decoration/oxygenclient.cpp
M  +0    -1    libs/oxygenhelper.cpp
M  +99   -115  libs/oxygenlistmodel.h

http://commits.kde.org/oxygen-transparent/d1b1d27752e4ade81418a1951932408683ec598f
Comment 6 Hugo Pereira Da Costa 2012-11-04 22:10:53 UTC
Fixed, as far as I can tell.
Please give a shot to latest oxygen-transparent, from source, and confirm.

Cheers,

Hugo
Comment 7 Christopher 2012-11-05 00:25:24 UTC
I keep getting the following error when running ./oxygen-setup.pl
Sorry if it's a noob error on my part. I'm new to Arch. BTW, I love your work on this project. oxygen-transparent is one of the nicest things I've seen in KDE :) It's one of the first things I install whenever I try a new distro.

Building CXX object style/CMakeFiles/oxygen_transparent.dir/oxygenblurhelper.o
/home/christopher/builds/oxygen/oxygen-transparent/src/style/oxygenblurhelper.cpp: In member function ‘void Oxygen::BlurHelper::trimBlurRegion(QWidget*, QWidget*, QRegion&) const’:
/home/christopher/builds/oxygen/oxygen-transparent/src/style/oxygenblurhelper.cpp:182:1: error: ‘s’ was not declared in this scope
/home/christopher/builds/oxygen/oxygen-transparent/src/style/oxygenblurhelper.cpp:182:18: error: expected ‘;’ before ‘}’ token
make[2]: *** [style/CMakeFiles/oxygen_transparent.dir/oxygenblurhelper.o] Error 1
make[1]: *** [style/CMakeFiles/oxygen_transparent.dir/all] Error 2
make: *** [all] Error 2
system make>&1 failed: 512
Comment 8 Hugo Pereira Da Costa 2012-11-05 10:23:27 UTC
This is now fixed. One extra character that sneaked in between last compilation attempt and actual pushing.
Can you double check ? 
Sorry for the trouble. 

Hugo
Comment 9 Christopher 2012-11-05 10:46:17 UTC
Thank you, all fixed :)

I'm getting a slight flicker when first opening a tabbed window, but that may be unrelated. I'll have a look through my effects settings as there may be some slight tweaking to do. Thank you so much for the prompt response and fantastic style.

Let me know if there anything I can to do with regards to this report.

Peace,
Christopher Jazzcat
Comment 10 Hugo Pereira Da Costa 2012-11-05 10:49:53 UTC
Nothing to do, I'll just close the report.
Thanks for reporting in the first place !