Bug 216215 - Going back to icon view from "Global Keyboard Shortcuts" crashes [QWidget::ensurePolished, QWidgetPrivate::activateChildLayoutsRecursively, QWidgetPrivate::activateChildLayoutsRecursively]
Summary: Going back to icon view from "Global Keyboard Shortcuts" crashes [QWidget::en...
Status: RESOLVED FIXED
Alias: None
Product: Oxygen
Classification: Plasma
Component: style (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Camilla Boemann
URL:
Keywords:
: 216314 217179 218472 218917 230710 231547 233308 237253 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-26 05:54 UTC by Christoph Feck
Modified: 2011-05-18 15:31 UTC (History)
14 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (12.57 KB, text/plain)
2010-03-10 20:55 UTC, Mirza
Details
New crash information added by DrKonqi (12.57 KB, text/plain)
2010-03-10 21:03 UTC, Mirza
Details
New crash information added by DrKonqi (12.57 KB, text/plain)
2010-03-10 21:03 UTC, Mirza
Details
New crash information added by DrKonqi (11.64 KB, text/plain)
2010-05-08 08:17 UTC, omega
Details
New crash information added by DrKonqi (13.69 KB, text/plain)
2011-05-18 15:31 UTC, Victor B. Gonzalez
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Feck 2009-11-26 05:54:54 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.3.77 (KDE 4.3.77 (KDE 4.4 >= 20091123)) (Compiled from sources)
Qt Version: 4.6.0
Operating System: Linux 2.6.31.5-0.1-desktop i686

-- Information about the crash:
To reproduce:
* Run systemsettings
* Click Mouse/Keyboard
* Click Global Keyboard Shortcuts
* Click "Back" in Toolbar

The crash can be reproduced everytime.

 -- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
[KCrash Handler]
#6  QWidget::ensurePolished (this=0x9daee48) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:9311
#7  0xb6549774 in QWidgetPrivate::activateChildLayoutsRecursively (this=0x8213308) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:7089
#8  0xb654979d in QWidgetPrivate::activateChildLayoutsRecursively (this=0x82130f8) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:7102
#9  0xb654979d in QWidgetPrivate::activateChildLayoutsRecursively (this=0x8212fc8) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:7102
#10 0xb654979d in QWidgetPrivate::activateChildLayoutsRecursively (this=0x8212e68) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:7102
#11 0xb654979d in QWidgetPrivate::activateChildLayoutsRecursively (this=0x80ef640) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:7102
#12 0xb654979d in QWidgetPrivate::activateChildLayoutsRecursively (this=0x80eccb8) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:7102
#13 0xb654f575 in QWidgetPrivate::prepareToRender (this=0xad7ab48, region=..., renderFlags=...) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5138
#14 0xb655474d in QWidget::render (this=0xacc59b8, target=0xbfa0d630, targetOffset=..., sourceRegion=..., renderFlags=...) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:4852
#15 0xb501ec2c in Oxygen::TransitionWidget::grabWidget (this=0x9e63c08, pixmap=..., widget=0xacc59b8, rect=...)
    at /local/svn/kde/trunk/KDE/kdebase/runtime/kstyles/oxygen/transitions/oxygentransitionwidget.cpp:218
#16 0xb501e28e in Oxygen::TransitionWidget::grab (this=0x9e63c08, widget=0xacc59b8, rect=...) at /local/svn/kde/trunk/KDE/kdebase/runtime/kstyles/oxygen/transitions/oxygentransitionwidget.cpp:91
#17 0xb501b262 in Oxygen::StackedWidgetData::initializeAnimation (this=0x9e64cc0) at /local/svn/kde/trunk/KDE/kdebase/runtime/kstyles/oxygen/transitions/oxygenstackedwidgetdata.cpp:66
#18 0xb501ae14 in Oxygen::StackedWidgetData::qt_metacall (this=0x9e64cc0, _c=InvokeMetaMethod, _id=0, _a=0xbfa0d7e8) at /local/build/KDE/kdebase/runtime/kstyles/oxygen/oxygenstackedwidgetdata.moc:76
#19 0xb5f4f33a in QMetaObject::metacall (object=0x9e64cc0, cl=InvokeMetaMethod, idx=7, argv=0xbfa0d7e8) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#20 0xb5f5d91b in QMetaObject::activate (sender=0x9db5748, m=0xb6df88d8, local_signal_index=0, argv=0xbfa0d7e8) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3286
#21 0xb6bf2833 in QStackedWidget::currentChanged (this=0x9db5748, _t1=0) at .moc/release-shared/moc_qstackedwidget.cpp:131
#22 0xb6bf29af in QStackedWidget::qt_metacall (this=0x9db5748, _c=InvokeMetaMethod, _id=0, _a=0xbfa0d908) at .moc/release-shared/moc_qstackedwidget.cpp:88
#23 0xb5f4f33a in QMetaObject::metacall (object=0x9db5748, cl=InvokeMetaMethod, idx=27, argv=0xbfa0d908) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#24 0xb5f5d91b in QMetaObject::activate (sender=0x9da1e10, m=0xb6df5258, local_signal_index=1, argv=0xbfa0d908) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3286
#25 0xb6be7603 in QStackedLayout::currentChanged (this=0x9da1e10, _t1=0) at .moc/release-shared/moc_qstackedlayout.cpp:147
#26 0xb65324cd in QStackedLayout::setCurrentIndex (this=0x9da1e10, index=0) at /local/git/Qt/qt/src/gui/kernel/qstackedlayout.cpp:340
#27 0xb65327ed in QStackedLayout::takeAt (this=0x9da1e10, index=0) at /local/git/Qt/qt/src/gui/kernel/qstackedlayout.cpp:265
#28 0xb65220e7 in removeWidgetRecursively (li=<value optimized out>, w=<value optimized out>) at /local/git/Qt/qt/src/gui/kernel/qlayout.cpp:661
#29 0xb64ec696 in QApplicationPrivate::notify_helper (this=0x8087108, receiver=0x9db5748, e=0xbfa0dddc) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4243
#30 0xb64f33b7 in QApplication::notify (this=0xbfa0f494, receiver=0x9db5748, e=0xbfa0dddc) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4217
#31 0xb703783c in KApplication::notify (this=0xbfa0f494, receiver=0x9db5748, event=0xbfa0dddc) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#32 0xb5f4a12b in QCoreApplication::notifyInternal (this=0xbfa0f494, receiver=0x9db5748, event=0xbfa0dddc) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:704
#33 0xb5f5e856 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:215
#34 QObjectPrivate::setParent_helper (event=<value optimized out>, receiver=<value optimized out>) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:2016
#35 0xb5f6089c in QObject::~QObject (this=0xad36e00, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:994
#36 0xb65522fa in QWidget::~QWidget (this=0xad36e00, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1475
#37 0xb6fc9fbd in KShortcutsEditor::~KShortcutsEditor (this=0xad36e00, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/dialogs/kshortcutseditor.cpp:77
#38 0xaf67810c in ComponentData::~ComponentData (this=0xacc2f80, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdebase/workspace/kcontrol/keys/kglobalshortcutseditor.cpp:97
#39 0xaf67f56f in qDeleteAll<QList<ComponentData*>::const_iterator> (begin=..., end=...) at /local/qt4/include/QtCore/qalgorithms.h:322
#40 0xaf67dccb in qDeleteAll<QList<ComponentData*> > (c=...) at /local/qt4/include/QtCore/qalgorithms.h:330
#41 0xaf678816 in KGlobalShortcutsEditor::~KGlobalShortcutsEditor (this=0x9db6280, __in_chrg=<value optimized out>)
    at /local/svn/kde/trunk/KDE/kdebase/workspace/kcontrol/keys/kglobalshortcutseditor.cpp:189
#42 0xb5f5972f in QObjectPrivate::deleteChildren (this=0x9db7138) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:1990
#43 0xb6552257 in QWidget::~QWidget (this=0x9db40a0, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1459
#44 0xb70fe62f in KCModule::~KCModule (this=0x9db40a0, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/widgets/kcmodule.cpp:188
#45 0xaf68250c in GlobalShortcutsModule::~GlobalShortcutsModule (this=0x9db40a0, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdebase/workspace/kcontrol/keys/globalshortcuts.cpp:54
#46 0xb7457362 in KCModuleProxy::deleteClient (this=0x9db2440) at /local/svn/kde/trunk/KDE/kdelibs/kutils/kcmoduleproxy.cpp:219
#47 0xb74572ab in KCModuleProxy::~KCModuleProxy (this=0x9db2440, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdelibs/kutils/kcmoduleproxy.cpp:210
#48 0xb5f5972f in QObjectPrivate::deleteChildren (this=0x9daf108) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:1990
#49 0xb65517b7 in QWidget::~QWidget (this=0x9daf0b8, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1459
#50 0xb5f5972f in QObjectPrivate::deleteChildren (this=0x9daeea8) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:1990
#51 0xb6552257 in QWidget::~QWidget (this=0x9daee48, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1459
#52 0xb691f191 in QFrame::~QFrame (this=0x9daee48, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/gui/widgets/qframe.cpp:242
#53 0xb69ba984 in QAbstractScrollArea::~QAbstractScrollArea (this=0x9daee48, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea.cpp:522
#54 0xb69befa5 in QScrollArea::~QScrollArea (this=0x9daee48, __in_chrg=<value optimized out>) at /local/git/Qt/qt/src/gui/widgets/qscrollarea.cpp:176
#55 0xb7086dca in KPageWidgetItem::Private::~Private (this=0x9db2cc8, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/paged/kpagewidgetmodel.cpp:40
#56 0xb7085024 in KPageWidgetItem::~KPageWidgetItem (this=0x9db2ab8, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/paged/kpagewidgetmodel.cpp:84
#57 0xb70853c7 in PageItem::~PageItem (this=0x9da2870, __in_chrg=<value optimized out>) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/paged/kpagewidgetmodel.cpp:174
#58 0xb708638a in KPageWidgetModel::removePage (this=0x82166a8, item=0x9db2ab8) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/paged/kpagewidgetmodel.cpp:481
#59 0xb70847c0 in KPageWidget::removePage (this=0x82122e8, item=0x9db2ab8) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/paged/kpagewidget.cpp:113
#60 0xb74296aa in ModuleView::closeModules (this=0x80f4f20) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/core/ModuleView.cpp:252
#61 0xb2f7e6be in IconMode::backToOverview (this=0x8210230) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/icons/IconMode.cpp:152
#62 0xb2f7ec99 in IconMode::qt_metacall (this=0x8210230, _c=InvokeMetaMethod, _id=3, _a=0xbfa0e4e8) at /local/build/KDE/kdebase/workspace/systemsettings/icons/IconMode.moc:82
#63 0xb5f4f33a in QMetaObject::metacall (object=0x8210230, cl=InvokeMetaMethod, idx=14, argv=0xbfa0e4e8) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#64 0xb5f5d91b in QMetaObject::activate (sender=0x820fd98, m=0xb6de42b8, local_signal_index=1, argv=0xbfa0e4e8) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3286
#65 0xb64e5f29 in QAction::triggered (this=0x820fd98, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#66 0xb64e813c in QAction::activate (this=0x820fd98, event=Trigger) at /local/git/Qt/qt/src/gui/kernel/qaction.cpp:1251
#67 0xb69b2402 in trigger (this=<value optimized out>) at ../../include/QtGui/../../../../git/Qt/qt/src/gui/kernel/qaction.h:218
#68 QToolButton::nextCheckState (this=<value optimized out>) at /local/git/Qt/qt/src/gui/widgets/qtoolbutton.cpp:1147
#69 0xb68cfba3 in QAbstractButtonPrivate::click (this=0x827d108) at /local/git/Qt/qt/src/gui/widgets/qabstractbutton.cpp:528
#70 0xb68cfe91 in QAbstractButton::mouseReleaseEvent (this=0x8102920, e=0xbfa0ed04) at /local/git/Qt/qt/src/gui/widgets/qabstractbutton.cpp:1118
#71 0xb69b28cc in QToolButton::mouseReleaseEvent (this=0x8102920, e=0xbfa0ed04) at /local/git/Qt/qt/src/gui/widgets/qtoolbutton.cpp:721
#72 0xb654a36e in QWidget::event (this=0x8102920, event=0xbfa0ed04) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:7976
#73 0xb68cec3e in QAbstractButton::event (this=0x8102920, e=0x9db2e18) at /local/git/Qt/qt/src/gui/widgets/qabstractbutton.cpp:1080
#74 0xb69b53fa in QToolButton::event (this=0x8102920, event=0xbfa0ed04) at /local/git/Qt/qt/src/gui/widgets/qtoolbutton.cpp:1163
#75 0xb64ec6cc in QApplicationPrivate::notify_helper (this=0x8087108, receiver=0x8102920, e=0xbfa0ed04) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4252
#76 0xb64f3c6b in QApplication::notify (this=0xbfa0f494, receiver=0x8102920, e=0xbfa0ed04) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3823
#77 0xb703783c in KApplication::notify (this=0xbfa0f494, receiver=0x8102920, event=0xbfa0ed04) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#78 0xb5f4a12b in QCoreApplication::notifyInternal (this=0xbfa0f494, receiver=0x8102920, event=0xbfa0ed04) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:704
#79 0xb64f2c1f in sendEvent (event=<value optimized out>, receiver=0x8102920) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:215
#80 QApplicationPrivate::sendMouseEvent (event=<value optimized out>, receiver=0x8102920) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:2957
#81 0xb657c9f4 in QETWidget::translateMouseEvent (this=0x81401d0, event=0xbfa0f150) at /local/git/Qt/qt/src/gui/kernel/qapplication_x11.cpp:4368
#82 0xb657bf5b in QApplication::x11ProcessEvent (this=0xbfa0f494, event=0xbfa0f150) at /local/git/Qt/qt/src/gui/kernel/qapplication_x11.cpp:3379
#83 0xb65a8a72 in x11EventSourceDispatch (s=0x8089f40, callback=0, user_data=0x0) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:146
#84 0xb561f4c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#85 0xb5622d98 in ?? () from /usr/lib/libglib-2.0.so.0
#86 0xb5622ebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#87 0xb5f75c95 in QEventDispatcherGlib::processEvents (this=0x8086d28, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:407
#88 0xb65a85d5 in QGuiEventDispatcherGlib::processEvents (this=0x8086d28, flags=...) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:202
#89 0xb5f48759 in QEventLoop::processEvents (this=0xbfa0f414, flags=) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
#90 0xb5f48baa in QEventLoop::exec (this=0xbfa0f414, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201
#91 0xb5f4cd2f in QCoreApplication::exec () at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:981
#92 0xb64ec767 in QApplication::exec () at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3571
#93 0x08059a8d in main (argc=5, argv=0xbfa0f5c4) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/app/main.cpp:49

Reported using DrKonqi
Comment 1 Ben Cooksley 2009-11-26 07:42:49 UTC
Looks like the Oxygen style is at fault, and I can't reproduce locally.
Comment 2 Dario Andres 2009-11-26 13:43:43 UTC
It crashes for me here using:

Qt: 4.6.0 (kde-qt master commit cd8595efe9aace2afdaa5db37af7cfe82b87e4aa
        Date:   Wed Nov 18 01:33:21 2009 +0100)
KDE: 4.3.77 (KDE 4.3.77 (KDE 4.4 >= 20091123))
kdelibs svn rev. 1053388 / kdebase svn rev. 1053388
on ArchLinux i686 - Kernel 2.6.31.6

In fact, it seems to be Oxygen related...
I couldn't get it to crash with "systemsettings -style plastique"

Regards
Comment 3 Dario Andres 2009-11-26 22:21:22 UTC
*** Bug 216314 has been marked as a duplicate of this bug. ***
Comment 4 Hugo Pereira Da Costa 2009-11-30 18:55:47 UTC
Yep. Oxygen related. More precisely, animation related.
Could you check whether or not the crash still happens if you uncheck the "animate tab transitions" checkbox in the oxygen style configuration dialog ? 
systemsettings->Appearance->style->configure (right of the style selection combobox)->animations (last tab) ?

thanks in advance
Comment 5 Dario Andres 2009-11-30 18:59:24 UTC
Here using:

Qt: 4.6.0 (kde-qt master commit cd8595efe9aace2afdaa5db37af7cfe82b87e4aa
        Date:   Wed Nov 18 01:33:21 2009 +0100)
KDE: 4.3.80 (KDE 4.3.80 (KDE 4.4 Beta1))
kdelibs svn rev. 1056270 / kdebase svn rev. 1056271
on ArchLinux i686 - Kernel 2.6.31.6

I can confirm that disabling the Oxygen tab animation, and restarting SystemSettings, "fixes" the crash.
Comment 6 Hugo Pereira Da Costa 2009-11-30 19:11:44 UTC
Thanks for the info. 
What is surprising though is that the crash occurs in QWidget::render. while the widget to which it is called is valid (non NULL)
In that sense that might actually be a Qt bug. How can I know whether I am allowed to call QWidget::render or not otherwise ?
Comment 7 Christoph Feck 2009-12-03 12:15:39 UTC
*** Bug 217179 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2009-12-15 16:57:47 UTC
*** Bug 218472 has been marked as a duplicate of this bug. ***
Comment 9 Christoph Feck 2009-12-16 15:22:44 UTC
*** Bug 218917 has been marked as a duplicate of this bug. ***
Comment 10 Dario Andres 2009-12-16 15:40:29 UTC
There is a backtrace related to this at https://bugs.kde.org/attachment.cgi?id=39091 , it is a bit different (it includes more Oxygen calls), but may be the same. @Hugo: can you check it ? Thanks
Comment 11 Hugo Pereira Da Costa 2009-12-16 16:41:43 UTC
Looking into this one too. @Dario thanks for the backtrace. 
What anoys me here like in the other oxygen related bugs is that
- the crash really happens in Qt (which is not to say that Oxygen don't trigger it). 
- none of these crash happen when using Qt4.5 (against which oxygen-style compiles just fine). Which is more suspicious to me. 

But I'm still looking. 

Anyway, I guess if it can't be fixed for kde4.4 release, One might need to disable "transitions" as a whole (tabwidgets, lineEditors, ComboBoxes and QLabel), since all of them crash Qt one way or the other (all of them by either calling QWidget::render, or QPixmap::grab).
Comment 12 Javier Conti 2009-12-16 19:02:12 UTC
2009/12/16 Hugo Pereira Da Costa <hugo.pereira@free.fr>:
> https://bugs.kde.org/show_bug.cgi?id=216215
>
>
>
>
>
> --- Comment #11 from Hugo Pereira Da Costa <hugo pereira free fr>  2009-12-16 16:41:43 ---
> Looking into this one too. @Dario thanks for the backtrace.
> What anoys me here like in the other oxygen related bugs is that
> - the crash really happens in Qt (which is not to say that Oxygen don't trigger
> it).
> - none of these crash happen when using Qt4.5 (against which oxygen-style
> compiles just fine). Which is more suspicious to me.

Hi Hugo,

just to mention, I'm experiencing (probably) the same problem, but with QT 4.6.

Ciao, Javier

>
> But I'm still looking.
>
> Anyway, I guess if it can't be fixed for kde4.4 release, One might need to
> disable "transitions" as a whole (tabwidgets, lineEditors, ComboBoxes and
> QLabel), since all of them crash Qt one way or the other (all of them by either
> calling QWidget::render, or QPixmap::grab).
>
> --
> Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug.
>
Comment 13 Hugo Pereira Da Costa 2009-12-17 06:40:28 UTC
So I looked into the backtrace in a bit more detail.
Interesting things are:
#6  QWidget::ensurePolished (this=0x9daee48)
while earlier in the loop:
#51 0xb6552257 in QWidget::~QWidget (this=0x9daee48, __in_chrg=<value optimized
out>) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1459
#52 0xb691f191 in QFrame::~QFrame (this=0x9daee48, __in_chrg=<value optimized
out>) at /local/git/Qt/qt/src/gui/widgets/qframe.cpp:242

(note that this is the same widget address).
So clearly: QWidget::render tries (recursively) to access a pointer that already has been deleted. Bad. 

The same scenario is true for but 217179, bug 218472, and in the backtrace of comment #10. I am not sure about what can be done about this:
either it is a QWidget::render bug,
or the call to QWidget::render done by oxygen (and triggered by a signal/slot connection) is done too early in the event loop.
Comment 14 Dario Andres 2009-12-17 16:56:38 UTC
May be this should be forwarded to the Qt bugtracker ? may be the Qt team can give you some hints
Comment 15 Hugo Pereira Da Costa 2009-12-17 17:09:20 UTC
@dario: yes. I plan to do this today.
Comment 16 Hugo Pereira Da Costa 2009-12-17 19:29:03 UTC
Just submitted a qt bug report at: 
http://bugreports.qt.nokia.com/browse/QTBUG-6896

Waiting for suggestions/advice.
Comment 17 Mirza 2010-03-10 20:55:24 UTC
Created attachment 41509 [details]
New crash information added by DrKonqi

Crash happend after exiting Global Keyboard Shortcuts.
Comment 18 Mirza 2010-03-10 21:03:43 UTC
Created attachment 41510 [details]
New crash information added by DrKonqi

Crash happend after exiting Global Keyboard Shortcuts.
Comment 19 Mirza 2010-03-10 21:03:45 UTC
Created attachment 41511 [details]
New crash information added by DrKonqi

Crash happend after exiting Global Keyboard Shortcuts.
Comment 20 Dario Andres 2010-03-14 23:48:31 UTC
*** Bug 230710 has been marked as a duplicate of this bug. ***
Comment 21 Dario Andres 2010-03-20 15:45:25 UTC
Bug 231410 looks like a similar backtrace with a different way to reproduce... it may be useful...
Comment 22 Dario Andres 2010-03-21 15:56:30 UTC
*** Bug 231547 has been marked as a duplicate of this bug. ***
Comment 23 Hugo Pereira Da Costa 2010-03-23 21:44:59 UTC
SVN commit 1106745 by hpereiradacosta:

Added protection to disable animation when target is destroyed.
CCBUG: 216215 231410 


 M  +8 -0      oxygencomboboxdata.cpp  
 M  +3 -0      oxygencomboboxdata.h  
 M  +10 -0     oxygenlabeldata.cpp  
 M  +3 -0      oxygenlabeldata.h  
 M  +18 -3     oxygenlineeditdata.cpp  
 M  +4 -5      oxygenlineeditdata.h  
 M  +8 -0      oxygenstackedwidgetdata.cpp  
 M  +3 -0      oxygenstackedwidgetdata.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1106745
Comment 24 Christoph Feck 2010-03-29 04:28:34 UTC
I can no longer reproduce the crash using the steps provided in comment #1 even with Tab transitions enabled.
Comment 25 Ben Cooksley 2010-03-29 06:41:50 UTC
Seems to be fixed now, please reopen if you can reproduce.
Comment 26 Hugo Pereira Da Costa 2010-03-29 08:13:45 UTC
awesome :)
Comment 27 Dario Andres 2010-04-05 02:06:32 UTC
*** Bug 233308 has been marked as a duplicate of this bug. ***
Comment 28 omega 2010-05-08 08:17:02 UTC
Created attachment 43361 [details]
New crash information added by DrKonqi

Crash step:

* Run systemsettings
* Click Mouse/Keyboard
* Click Global Keyboard Shortcuts
* Click "Back" in Toolbar
Comment 29 Christoph Feck 2010-05-11 22:42:29 UTC
*** Bug 237253 has been marked as a duplicate of this bug. ***
Comment 30 Hugo Pereira Da Costa 2010-05-11 23:29:06 UTC
SVN commit 1125643 by hpereiradacosta:

Backport r1106745
Added protection to disable animation when target is destroyed.
CCBUG: 216215


 M  +9 -1      oxygencomboboxdata.cpp  
 M  +3 -0      oxygencomboboxdata.h  
 M  +10 -0     oxygenlabeldata.cpp  
 M  +3 -0      oxygenlabeldata.h  
 M  +17 -2     oxygenlineeditdata.cpp  
 M  +4 -5      oxygenlineeditdata.h  
 M  +8 -0      oxygenstackedwidgetdata.cpp  
 M  +3 -0      oxygenstackedwidgetdata.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1125643
Comment 31 Hugo Pereira Da Costa 2010-05-11 23:31:18 UTC
see comment #30. I just backported to the 4.4 branch the changes of commen #23, which apparently fixed it. 
Hopefully this will make it into kde4.4.4, if there is such a thing.

Hugo
Comment 32 Victor B. Gonzalez 2011-05-18 15:31:20 UTC
Created attachment 60119 [details]
New crash information added by DrKonqi

systemsettings (1.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed: Navigated to "global keyboard shortcuts", I then clicked "standard keyboard shortcuts" and BOOM. Everytime. Crash. Comment #4 is indeed a valid work around for me. I am on KDE 4.6.2.

-- Backtrace (Reduced):
#6  isWidgetType (this=0x12c42d0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:156
#7  QWidget::ensurePolished (this=0x12c42d0) at kernel/qwidget.cpp:9602
#8  0x00007f7c15393867 in QWidgetPrivate::activateChildLayoutsRecursively (this=0xe87720) at kernel/qwidget.cpp:7354
#9  0x00007f7c1539388f in QWidgetPrivate::activateChildLayoutsRecursively (this=0xe873d0) at kernel/qwidget.cpp:7367
#10 0x00007f7c1539388f in QWidgetPrivate::activateChildLayoutsRecursively (this=0xe86e80) at kernel/qwidget.cpp:7367