Bug 304026 - KCM crashes on updating a deco's settings because the lib is conditionally unloaded in new ::canLoad()
Summary: KCM crashes on updating a deco's settings because the lib is conditionally un...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: kdecorations (show other bugs)
Version: git master
Platform: unspecified Linux
: NOR major
Target Milestone: 4.9.0
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-24 20:38 UTC by Thomas Lübking
Modified: 2012-07-25 18:29 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Lübking 2012-07-24 20:38:52 UTC
Backtrace, but it's junk - just not unloading prevents the crash. 
But we need a better way which i'll search now...


Application: KDE Control Module (kcmshell4), signal: Segmentation fault
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0xb53f0740 (LWP 29914))]

Thread 3 (Thread 0xb1537b40 (LWP 29919)):
#0  0xb773c424 in __kernel_vsyscall ()
#1  0xb5a5d7fb in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7653fec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb1b6ccbd in ?? () from /usr/lib/libQtScript.so.4
#4  0xb1b6ccef in ?? () from /usr/lib/libQtScript.so.4
#5  0xb5a59d08 in start_thread () from /lib/libpthread.so.0
#6  0xb76468fe in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb0627b40 (LWP 29941)):
#0  0xb773c424 in __kernel_vsyscall ()
#1  0xb763fa01 in select () from /lib/libc.so.6
#2  0xb6c00173 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb6b13660 in ?? () from /usr/lib/libQtCore.so.4
#4  0xb5a59d08 in start_thread () from /lib/libpthread.so.0
#5  0xb76468fe in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb53f0740 (LWP 29914)):
[KCrash Handler]
#6  0xb20178cc in size (this=0xa428324) at /usr/include/QtCore/qlist.h:98
#7  indexOf (from=0, t=@0xbffc4314: 0xa28d5b8, this=0xa428324) at /usr/include/QtCore/qlist.h:851
#8  QList<KDecoration*>::removeAll (this=this@entry=0xa428324, _t=@0xbffc4314: 0xa28d5b8) at /usr/include/QtCore/qlist.h:772
#9  0xb201775a in KDecorationFactory::removeDecoration (this=0xa428320, deco=0xa28d5b8) at /home/src/KDE4/kde-workspace/kwin/libkdecorations/kdecorationfactory.cpp:87
#10 0xb2011c14 in KDecoration::~KDecoration (this=this@entry=0xa28d5b8, __in_chrg=<optimized out>) at /home/src/KDE4/kde-workspace/kwin/libkdecorations/kdecoration.cpp:70
#11 0xb2011ca6 in KDecorationUnstable::~KDecorationUnstable (this=0xa28d5b8, __in_chrg=<optimized out>) at /home/src/KDE4/kde-workspace/kwin/libkdecorations/kdecoration.cpp:401
#12 0xb201d4b9 in KCommonDecorationWrapper::~KCommonDecorationWrapper (this=0xa28d5b8, __in_chrg=<optimized out>) at /home/src/KDE4/kde-workspace/kwin/libkdecorations/kcommondecoration_p.cpp:40
#13 0xb201d4f2 in KCommonDecorationWrapper::~KCommonDecorationWrapper (this=0xa28d5b8, __in_chrg=<optimized out>) at /home/src/KDE4/kde-workspace/kwin/libkdecorations/kcommondecoration_p.cpp:44
#14 0xb20e0bd5 in KDecorationPreview::recreateDecoration (this=0xa34ec60, plugins=0xa23b168) at /home/src/KDE4/kde-workspace/kwin/kcmkwin/kwindecoration/preview.cpp:75
#15 0xb20e3142 in KWin::DecorationModel::regeneratePreview (this=this@entry=0xa347058, index=..., size=...) at /home/src/KDE4/kde-workspace/kwin/kcmkwin/kwindecoration/decorationmodel.cpp:315
#16 0xb20e3238 in KWin::DecorationModel::regeneratePreview (this=this@entry=0xa347058, index=...) at /home/src/KDE4/kde-workspace/kwin/kcmkwin/kwindecoration/decorationmodel.cpp:342
#17 0xb20e3986 in KWin::DecorationModel::setData (this=0xa347058, index=..., value=..., role=43) at /home/src/KDE4/kde-workspace/kwin/kcmkwin/kwindecoration/decorationmodel.cpp:226
#18 0xb20d5a54 in KWin::KWinDecorationModule::slotConfigureDecoration (this=0xa23b5d8) at /home/src/KDE4/kde-workspace/kwin/kcmkwin/kwindecoration/kwindecoration.cpp:350
#19 0xb6c3ce46 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#20 0xb6832f7d in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#21 0xb6539abd in ?? () from /usr/lib/libQtGui.so.4
#22 0xb653a30b in ?? () from /usr/lib/libQtGui.so.4
#23 0xb653a5c6 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#24 0xb617909f in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#25 0xb6539982 in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#26 0xb65da538 in QPushButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#27 0xb611ff6c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0xb6125462 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#29 0xb72cb001 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#30 0xb6c24bce in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#31 0xb6120dd4 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#32 0xb61a9287 in ?? () from /usr/lib/libQtGui.so.4
#33 0xb61a7f63 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#34 0xb61d20ad in ?? () from /usr/lib/libQtGui.so.4
#35 0xb6c236ac in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0xb6c239a1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#37 0xb66590ad in QDialog::exec() () from /usr/lib/libQtGui.so.4
#38 0xb770ab4d in kdemain () from /usr/lib/libkdeinit4_kcmshell4.so
#39 0x0804855b in ?? ()
#40 0xb7577605 in __libc_start_main () from /lib/libc.so.6
#41 0x08048581 in _start ()
Comment 1 Thomas Lübking 2012-07-25 18:29:41 UTC
Git commit df6a86044ffd3d8f02dc0b15348d3475338cad10 by Thomas Lübking.
Committed on 25/07/2012 at 09:58.
Pushed by luebking into branch 'KDE/4.9'.

Manage m_preview::deco pointers on plugin juggling
REVIEW: 105721

M  +19   -2    kwin/kcmkwin/kwindecoration/decorationmodel.cpp
M  +5    -0    kwin/kcmkwin/kwindecoration/preview.cpp
M  +1    -0    kwin/kcmkwin/kwindecoration/preview.h

http://commits.kde.org/kde-workspace/df6a86044ffd3d8f02dc0b15348d3475338cad10