Bug 287698 - Systemsettings crashes on attempting to add window-specific decoration override
Summary: Systemsettings crashes on attempting to add window-specific decoration override
Status: RESOLVED UPSTREAM
Alias: None
Product: Oxygen
Classification: Plasma
Component: win deco (show other bugs)
Version: 4.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-27 17:41 UTC by Jesse
Modified: 2011-11-29 09:36 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Here's the backtrace although I doubt this would be useful (5.45 KB, application/octet-stream)
2011-11-27 17:41 UTC, Jesse
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse 2011-11-27 17:41:38 UTC
Created attachment 66124 [details]
Here's the backtrace although I doubt this would be useful

Version:           1.0 (using KDE 4.7.3) 
OS:                Linux

Whenever I try to add an override to oxygen window decoration, systemsettings just crashes. I can myself confirm this on Fedora 16 x86_64 as well as Gentoo x86_64. Also happens on Fedora 16 x86 according to another person.

This bug has probably been present since KDE 4.7.1.

Reproducible: Always

Steps to Reproduce:
1. Open System Settings
2. Select "Workspace Appearance"
3. Select "Configure Decorations" button.
4. Select "Window-Specific Overrides" tab
5. Click "+Add" button

Actual Results:  
System-Settings crashes, and the KDE Crash Handler launches

Expected Results:  
A window pops up allowing me to choose window-specific override settings.
Comment 1 Jesse 2011-11-27 17:51:09 UTC
This is also present in KDE 4.7.80
Comment 2 Thomas Lübking 2011-11-27 18:13:47 UTC
Please rather post than attach backtraces, thanks.


Application: System Settings (systemsettings), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f252b25d840 (LWP 4073))]

Thread 2 (Thread 0x7f251df43700 (LWP 4074)):
#0  0x00007f252a9121b3 in select () from /lib64/libc.so.6
#1  0x0000003d8d354faf in ?? () from /usr/lib64/libQtCore.so.4
#2  0x0000003d8d27bb1b in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007f252ae6ad90 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f252a918d0d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f252b25d840 (LWP 4073)):
[KCrash Handler]
#6  0x00007f252a860285 in raise () from /lib64/libc.so.6
#7  0x00007f252a861b9b in abort () from /lib64/libc.so.6
#8  0x0000003d8d271464 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/libQtCore.so.4
#9  0x0000003d8d27161f in ?? () from /usr/lib64/libQtCore.so.4
#10 0x0000003d8d2717c4 in qFatal(char const*, ...) () from /usr/lib64/libQtCore.so.4
#11 0x0000003d8d2bce2f in QtSharedPointer::ExternalRefCountData::setQObjectShared(QObject const*, bool) () from /usr/lib64/libQtCore.so.4
#12 0x00007f251787da9d in ?? () from /usr/lib64/kde4/kwin_oxygen_config.so
#13 0x0000003d8d38b7d1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#14 0x0000003d92a4c702 in QAbstractButton::clicked(bool) () from /usr/lib64/libQtGui.so.4
#15 0x0000003d9278f36e in ?? () from /usr/lib64/libQtGui.so.4
#16 0x0000003d927906ab in ?? () from /usr/lib64/libQtGui.so.4
#17 0x0000003d9279091c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#18 0x0000003d92419d8a in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x0000003d923c96f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#20 0x0000003d923cee43 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#21 0x0000003d93a50396 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#22 0x0000003d8d377b4c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#23 0x0000003d923ca6c2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#24 0x0000003d92446045 in ?? () from /usr/lib64/libQtGui.so.4
#25 0x0000003d92444f0a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#26 0x0000003d9246c74c in ?? () from /usr/lib64/libQtGui.so.4
#27 0x0000003d84a44a7d in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#28 0x0000003d84a45278 in ?? () from /lib64/libglib-2.0.so.0
#29 0x0000003d84a4544c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#30 0x0000003d8d3a682f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#31 0x0000003d9246c43e in ?? () from /usr/lib64/libQtGui.so.4
#32 0x0000003d8d376c82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#33 0x0000003d8d376ed7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#34 0x0000003d9288f556 in QDialog::exec() () from /usr/lib64/libQtGui.so.4
#35 0x00007f251d30a44f in ?? () from /usr/lib64/kde4/kcm_kwindecoration.so
#36 0x0000003d8d38b7d1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#37 0x0000003d92a4c702 in QAbstractButton::clicked(bool) () from /usr/lib64/libQtGui.so.4
#38 0x0000003d9278f36e in ?? () from /usr/lib64/libQtGui.so.4
#39 0x0000003d927906ab in ?? () from /usr/lib64/libQtGui.so.4
#40 0x0000003d9279091c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#41 0x0000003d92419d8a in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#42 0x0000003d923c96f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#43 0x0000003d923cee43 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#44 0x0000003d93a50396 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#45 0x0000003d8d377b4c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#46 0x0000003d923ca6c2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#47 0x0000003d92446045 in ?? () from /usr/lib64/libQtGui.so.4
#48 0x0000003d92444f0a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#49 0x0000003d9246c74c in ?? () from /usr/lib64/libQtGui.so.4
#50 0x0000003d84a44a7d in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#51 0x0000003d84a45278 in ?? () from /lib64/libglib-2.0.so.0
#52 0x0000003d84a4544c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#53 0x0000003d8d3a682f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#54 0x0000003d9246c43e in ?? () from /usr/lib64/libQtGui.so.4
#55 0x0000003d8d376c82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#56 0x0000003d8d376ed7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#57 0x0000003d8d37b8d5 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#58 0x000000000040a835 in ?? ()
#59 0x00007f252a84b69d in __libc_start_main () from /lib64/libc.so.6
#60 0x000000000040a889 in _start ()
Comment 3 Thomas Lübking 2011-11-27 18:20:04 UTC
doesn't crash here btw. (32bit)
neither 4.7.3 nor git master
Comment 4 Hugo Pereira Da Costa 2011-11-27 20:05:28 UTC
... cannot reproduce here either, using git master and 32Bits,

also besides theres is no Oxygen code at all involved in the backtrace, and besides KApplication::notify, no kde code either.
I'd suspect a Qt issue (which version is it by the way) or a qt installation issue ... 

Also, I don't quite understand why there are so many (??) in the log.

I can't understand
#39 0x0000003d927906ab in ?? () from /usr/lib64/libQtGui.so.4

vs later: 
#40 0x0000003d9279091c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib64/libQtGui.so.4

Are all debug libs installed ?

Will keep open for a while in case there is other feedback or more usefull duplicates open, but I believe it is likely upstream and should be reported to Qt.
Comment 5 Hugo Pereira Da Costa 2011-11-27 20:08:47 UTC
Ah also: 
can you reproduce if you try do the same from "oxygen-settings" applications (type it in a terminal or krunner) ?
Comment 6 Jesse 2011-11-29 05:21:30 UTC
Well, I am using Qt 4.8 RC1, so I guess you're right about this being a Qt issue. And oxygen-settings still crashes on running from the terminal with error "QSharedPointer: pointer 0xd3a2e0 already has reference counting".

Anyway here is a complete backtrace

Application: System Settings (systemsettings), signal: Aborted
[KCrash Handler]
#6  0x00007f138ce93b05 in raise () from /lib64/libc.so.6
#7  0x00007f138ce94f7b in abort () from /lib64/libc.so.6
#8  0x00007f138d5623e4 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007f138d56256f in qt_message(QtMsgType, char const*, __va_list_tag*) () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007f138d562714 in qFatal(char const*, ...) () from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007f138d5ade6f in QtSharedPointer::ExternalRefCountData::setQObjectShared(QObject const*, bool) () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007f136f4d7073 in Oxygen::ExceptionListWidget::add() () from /usr/lib64/kde4/kwin_oxygen_transparent_config.so
#13 0x00007f138d67e161 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#14 0x00007f138e951ec2 in QAbstractButton::clicked(bool) () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007f138e69202e in QAbstractButtonPrivate::emitClicked() () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007f138e69336b in QAbstractButtonPrivate::click() () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007f138e6935dc in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007f138e338ae4 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007f138e2e8404 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007f138e2edb53 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007f138f00de26 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#22 0x00007f138d66a3ec in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#23 0x00007f138e2e93d2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007f138e364eb8 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007f138e363caa in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00007f138e38b432 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#27 0x00007f138a5d076d in g_main_dispatch (context=0x21628e0) at gmain.c:2441
#28 g_main_context_dispatch (context=0x21628e0) at gmain.c:3011
#29 0x00007f138a5d0f68 in g_main_context_iterate (context=0x21628e0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3089
#30 0x00007f138a5d1139 in g_main_context_iteration (context=0x21628e0, may_block=1) at gmain.c:3152
#31 0x00007f138d6992cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007f138e38b0ce in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#33 0x00007f138d6691d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#34 0x00007f138d669427 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#35 0x00007f138e794086 in QDialog::exec() () from /usr/lib64/qt4/libQtGui.so.4
#36 0x00007f137c3bc3df in KWin::KWinDecorationModule::slotConfigureDecoration() () from /usr/lib64/kde4/kcm_kwindecoration.so
#37 0x00007f138d67e161 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#38 0x00007f138e951ec2 in QAbstractButton::clicked(bool) () from /usr/lib64/qt4/libQtGui.so.4
#39 0x00007f138e69202e in QAbstractButtonPrivate::emitClicked() () from /usr/lib64/qt4/libQtGui.so.4
#40 0x00007f138e69336b in QAbstractButtonPrivate::click() () from /usr/lib64/qt4/libQtGui.so.4
#41 0x00007f138e6935dc in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#42 0x00007f138e338ae4 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#43 0x00007f138e2e8404 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#44 0x00007f138e2edb53 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#45 0x00007f138f00de26 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#46 0x00007f138d66a3ec in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#47 0x00007f138e2e93d2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#48 0x00007f138e364eb8 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#49 0x00007f138e363caa in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#50 0x00007f138e38b432 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#51 0x00007f138a5d076d in g_main_dispatch (context=0x21628e0) at gmain.c:2441
#52 g_main_context_dispatch (context=0x21628e0) at gmain.c:3011
#53 0x00007f138a5d0f68 in g_main_context_iterate (context=0x21628e0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3089
#54 0x00007f138a5d1139 in g_main_context_iteration (context=0x21628e0, may_block=1) at gmain.c:3152
#55 0x00007f138d6992cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#56 0x00007f138e38b0ce in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#57 0x00007f138d6691d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#58 0x00007f138d669427 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#59 0x00007f138d66df85 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#60 0x000000000040aa55 in main ()

BTW would help if you could tell me what to report to Qt about the bug.
Comment 7 Hugo Pereira Da Costa 2011-11-29 09:36:11 UTC
Please report to Qt. 
(basically, its a FATAL that Qt throws and it should not).