Bug 299685 - System Settings crashes when trying to re-enable Open GL detection or use "Screen Edges" kcm
Summary: System Settings crashes when trying to re-enable Open GL detection or use "Sc...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-09 14:23 UTC by Yözen Hernández
Modified: 2012-07-03 12:46 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.9.0
mgraesslin: Catalyst+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yözen Hernández 2012-05-09 14:23:04 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.8.3 (4.8.3)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-24-generic x86_64
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
- What I was doing when the application crashed:
Had previously added a special application rule to turn off compositing when using a certain program (bsnes). When trying to remove this rule while program was running did not re-enable compositing, I tried using Alt+Shift+F12 which also did not work.

I quit bsnes, opened system settings, tried to access the Desktop Effects configuration resulting in a crash. Subsequent attempts to access that config module results in a screen which reads, in part, "OpenGL compositing (the default) has crashed KWin in the past.
This was most likely due to a driver bug."

Checking the box "I have saved my data" and clicking the button "Re-enable OpenGL detection" results in systemsettings crashing.

- Custom settings of the application:
Special application rule to turn off compositing for bsnes.

I decided to remove the config files for kwin and systemsettings, as well as use the option to start a new session on login, because subsequent log-in attempts resulted in an unusable plasma desktop which would crash shortly after log in, or take upwards of 5 minutes just to log in from KDM. After removing the config files, plasma-desktop no longer crashes, but I still see the aforementioned screen in "Desktop Effects" and attempting to access "Screen Edges" under "Workspace behavior" causes an instant crash.

I am using fglrx 8.960 (Catalyst 12.4) from the Ubuntu repository on Kubuntu 12.04.  Xorg log did show a crash in fglrx, but this was during one of the times plasma hung on log in, and after 10+ minutes.

Running kwin --replace from the command line reveals the message "Compositing not possible" when I used the Alt+Shift+F12 shortcut. I "fixed" this by editing ~/.kde/share/config/kwinrc and changing OpenGLIsUnsafe=true to be false. This does *not* fix the systemsettings crashes, however.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9c7f4c7780 (LWP 21704))]

Thread 2 (Thread 0x7f9c68eed700 (LWP 21723)):
#0  0x00007f9c7c978b03 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9c7a160ff6 in g_main_context_poll (n_fds=2, fds=0x7f9c64002bb0, timeout=-1, context=0x7f9c640009a0, priority=<optimized out>) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3417
#2  g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x7f9c640009a0, self=<optimized out>) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3118
#3  g_main_context_iterate (context=0x7f9c640009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3060
#4  0x00007f9c7a161124 in g_main_context_iteration (context=0x7f9c640009a0, may_block=1) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3184
#5  0x00007f9c7d0f93bf in QEventDispatcherGlib::processEvents (this=0x7f9c640008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007f9c7d0c8c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f9c7d0c8ed7 in QEventLoop::exec (this=0x7f9c68eecdd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f9c7cfc7fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f9c7d0a89ff in QInotifyFileSystemWatcherEngine::run (this=0x2c3c760) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f9c7cfcafcb in QThreadPrivate::start (arg=0x2c3c760) at thread/qthread_unix.cpp:298
#11 0x00007f9c7a62de9a in start_thread (arg=0x7f9c68eed700) at pthread_create.c:308
#12 0x00007f9c7c9844bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9c7f4c7780 (LWP 21704)):
[KCrash Handler]
#6  0x00007f9c61aad1eb in ?? () from /usr/lib/fglrx/dri/fglrx_dri.so
#7  0x00007f9c623c272a in eglReleaseThread () from /usr/lib/fglrx/dri/fglrx_dri.so
#8  0x00007f9c684dd13b in KWin::CompositingPrefs::deleteEGLContext (this=0x2dd57b8) at ../../../../kwin/compositingprefs.cpp:374
#9  0x00007f9c684dd3e4 in KWin::CompositingPrefs::detect (this=0x2dd57b8) at ../../../../kwin/compositingprefs.cpp:174
#10 0x00007f9c684d1b2c in KWin::KWinCompositingConfig::updateStatusUI (this=0x2dd5550, compositingIsPossible=<optimized out>) at ../../../../kwin/kcmkwin/kwincompositing/main.cpp:369
#11 0x00007f9c684d4317 in KWin::KWinCompositingConfig::load (this=0x2dd5550) at ../../../../kwin/kcmkwin/kwincompositing/main.cpp:387
#12 0x00007f9c684d11e1 in KWin::KWinCompositingConfig::rearmGlSupport (this=0x2dd5550) at ../../../../kwin/kcmkwin/kwincompositing/main.cpp:303
#13 0x00007f9c7d0de281 in QMetaObject::activate (sender=0x2ddd2c0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffb0e9f780) at kernel/qobject.cpp:3547
#14 0x00007f9c7e3ccc72 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220
#15 0x00007f9c7e10aa4e in QAbstractButtonPrivate::emitClicked (this=<optimized out>) at widgets/qabstractbutton.cpp:548
#16 0x00007f9c7e10bd8b in QAbstractButtonPrivate::click (this=0x2de6470) at widgets/qabstractbutton.cpp:541
#17 0x00007f9c7e10bffc in QAbstractButton::mouseReleaseEvent (this=0x2ddd2c0, e=0x7fffb0ea0050) at widgets/qabstractbutton.cpp:1123
#18 0x00007f9c7dd8d144 in QWidget::event (this=0x2ddd2c0, event=0x7fffb0ea0050) at kernel/qwidget.cpp:8362
#19 0x00007f9c7dd3c894 in notify_helper (e=0x7fffb0ea0050, receiver=0x2ddd2c0, this=0x2553340) at kernel/qapplication.cpp:4559
#20 QApplicationPrivate::notify_helper (this=0x2553340, receiver=0x2ddd2c0, e=0x7fffb0ea0050) at kernel/qapplication.cpp:4531
#21 0x00007f9c7dd420bf in QApplication::notify (this=<optimized out>, receiver=0x2ddd2c0, e=0x7fffb0ea0050) at kernel/qapplication.cpp:4102
#22 0x00007f9c7ea75bb6 in KApplication::notify (this=0x7fffb0ea0d30, receiver=0x2ddd2c0, event=0x7fffb0ea0050) at ../../kdeui/kernel/kapplication.cpp:311
#23 0x00007f9c7d0c9e9c in QCoreApplication::notifyInternal (this=0x7fffb0ea0d30, receiver=0x2ddd2c0, event=0x7fffb0ea0050) at kernel/qcoreapplication.cpp:876
#24 0x00007f9c7dd3d862 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#25 QApplicationPrivate::sendMouseEvent (receiver=0x2ddd2c0, event=0x7fffb0ea0050, alienWidget=0x2ddd2c0, nativeWidget=0x269b960, buttonDown=0x2ddd2c0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170
#26 0x00007f9c7ddbcbf5 in QETWidget::translateMouseEvent (this=0x269b960, event=<optimized out>) at kernel/qapplication_x11.cpp:4617
#27 0x00007f9c7ddbbbae in QApplication::x11ProcessEvent (this=0x7fffb0ea0d30, event=0x7fffb0ea0920) at kernel/qapplication_x11.cpp:3732
#28 0x00007f9c7dde50d2 in x11EventSourceDispatch (s=0x2546c70, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#29 0x00007f9c7a160c9a in g_main_dispatch (context=0x2548800) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:2515
#30 g_main_context_dispatch (context=0x2548800) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3052
#31 0x00007f9c7a161060 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0x2548800, self=<optimized out>) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3123
#32 g_main_context_iterate (context=0x2548800, block=<optimized out>, dispatch=1, self=<optimized out>) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3060
#33 0x00007f9c7a161124 in g_main_context_iteration (context=0x2548800, may_block=1) at /build/buildd/glib2.0-2.32.1/./glib/gmain.c:3184
#34 0x00007f9c7d0f93bf in QEventDispatcherGlib::processEvents (this=0x25144b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#35 0x00007f9c7dde4d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007f9c7d0c8c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007f9c7d0c8ed7 in QEventLoop::exec (this=0x7fffb0ea0cc0, flags=...) at kernel/qeventloop.cpp:204
#38 0x00007f9c7d0cdf67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#39 0x000000000040a7e5 in main (argc=5, argv=0x7fffb0ea0ff8) at ../../../systemsettings/app/main.cpp:49

Reported using DrKonqi
Comment 1 Martin Flöser 2012-05-10 05:43:28 UTC
This problem is fixed in latest master.

Side note: your systemsettings is compiled against OpenGL ES which is not supported by your driver (fglrx). This looks like a severe packaging error. Please be so kind and forward this bug report to Kubuntu devs.
Comment 2 Yözen Hernández 2012-05-10 13:14:35 UTC
Thank you Martin, will do!