Summary: | removing a widget from panel plus afterwards calling "Add Widgets" causes plasma to crash and locks X | ||
---|---|---|---|
Product: | [Plasma] plasma4 | Reporter: | Janet <bugzilla> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | krase, maddom73 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | Backtrace of the crash. |
Description
Janet
2008-05-10 19:40:05 UTC
This was previously reported by mail on panel-devel as well. Here's a backtrace from Sebastian Kuegler: Application: Plasma Workspace (plasma), signal SIGSEGV [Thread debugging using libthread_db enabled] [New Thread 0xb573b720 (LWP 30139)] [New Thread 0xb3020b90 (LWP 30141)] [New Thread 0xb3e08b90 (LWP 30140)] [KCrash handler] #6 0xb6499c05 in QGraphicsLayoutItem::sizePolicy (this=0x821b718) at graphicsview/qgraphicslayoutitem.cpp:332 #7 0xb64a7463 in QGridLayoutItem::sizePolicy (this=0x82b5c48, orientation=Qt::Horizontal) at graphicsview/qgridlayoutengine.cpp:531 #8 0xb64a7fd6 in QGridLayoutItem::stretchFactor (this=0x82b5c48, orientation=Qt::Horizontal) at graphicsview/qgridlayoutengine.cpp:512 #9 0xb64a876b in QGridLayoutEngine::fillRowData (this=0x816be64, rowData=0x816bec8, styleInfo=@0xbf8ca05c, orientation=Qt::Horizontal) at graphicsview/qgridlayoutengine.cpp:1265 #10 0xb64aa508 in QGridLayoutEngine::ensureColumnAndRowData (this=0x816be64, styleInfo=@0xbf8ca05c) at graphicsview/qgridlayoutengine.cpp:1417 #11 0xb64aa6a2 in QGridLayoutEngine::ensureGeometries (this=0x816be64, styleInfo=@0xbf8ca05c, size=@0xbf8c9fb8) at graphicsview/qgridlayoutengine.cpp:1432 #12 0xb64aab2d in QGridLayoutEngine::setGeometries (this=0x816be64, styleInfo=@0xbf8ca05c, contentsGeometry=@0xbf8ca038) at graphicsview/qgridlayoutengine.cpp:961 #13 0xb649bc9e in QGraphicsLinearLayout::setGeometry (this=0x8280230, rect=@0xbf8ca0d8) at graphicsview/qgraphicslinearlayout.cpp:489 #14 0xb64988b5 in QGraphicsLayout::activate (this=0x8280230) at graphicsview/qgraphicslayout.cpp:251 #15 0xb6498977 in QGraphicsLayout::widgetEvent (this=0x8280230, e=0x83dac30) at graphicsview/qgraphicslayout.cpp:314 #16 0xb649cd46 in QGraphicsWidget::event (this=0x817a168, event=0x83dac30) at graphicsview/qgraphicswidget.cpp:1153 #17 0xb5eb290d in QApplicationPrivate::notify_helper (this=0x807a7f0, receiver=0x817a168, e=0x83dac30) at kernel/qapplication.cpp:3766 #18 0xb5eb2bf3 in QApplication::notify (this=0x807c770, receiver=0x817a168, e=0x83dac30) at kernel/qapplication.cpp:3360 #19 0xb79ea8f1 in KApplication::notify (this=0x807c770, receiver=0x817a168, event=0x83dac30) at /data/kdedev/kde/src/kdelibs/kdeui/kernel/kapplication.cpp:311 #20 0xb6b5363a in QCoreApplication::notifyInternal (this=0x807c770, receiver=0x817a168, event=0x83dac30) at kernel/qcoreapplication.cpp:583 #21 0xb709520b in QCoreApplication::sendEvent (receiver=0x817a168, event=0x83dac30) at ../../../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #22 0xb6b53b52 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x804aec0) at kernel/qcoreapplication.cpp:1195 #23 0xb6b53d03 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1091 #24 0xb6b84552 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #25 0xb6b83763 in postEventSourceDispatch (s=0x807c940) at kernel/qeventdispatcher_glib.cpp:211 #26 0xb5875bf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #27 0xb5878e5e in ?? () from /usr/lib/libglib-2.0.so.0 #28 0x0807c8b8 in ?? () #29 0x00000000 in ?? () #0 0xffffe410 in __kernel_vsyscall () I also got a very similar BT on debian experimental (4.0.72). In my case what I did was just trying to change K menu to "traditional style". Right click on K button, "Change to classic style". I'm attaching my backtrace yet almost the same. Created attachment 24798 [details]
Backtrace of the crash.
Sorry, I'm sleepy, but isn't it this a dupe of http://bugs.kde.org/show_bug.cgi?id=161167 One more note, plasma doesn't crash so badly here. Same usability as before the crash, svn rev 802997. Regards, *** Bug 161167 has been marked as a duplicate of this bug. *** using trunk/ I can confirm this crash. Simply add a clock widget to the desktop, drag it somewhere and close it afterwards. This crashes for me everytimes. gdb gives me a batrace like the above. valgrind gives this: ==9425== Invalid read of size 4 ==9425== at 0x50F6E99: QGraphicsLayoutItem::sizePolicy() const (qgraphicslayoutitem.cpp:327) ==9425== by 0x51031B6: QGridLayoutItem::sizePolicy(Qt::Orientation) const (qgridlayoutengine.cpp:525) ==9425== by 0x51035FE: QGridLayoutItem::stretchFactor(Qt::Orientation) const (qgridlayoutengine.cpp:506) ==9425== by 0x5104E30: QGridLayoutEngine::fillRowData(QGridLayoutRowData*, QLayoutStyleInfo const&, Qt::Orientation) const (qgridlayoutengine.cpp:1259) ==9425== by 0x510617E: QGridLayoutEngine::ensureColumnAndRowData(QLayoutStyleInfo const&) const (qgridlayoutengine.cpp:1411) ==9425== by 0x5106305: QGridLayoutEngine::ensureGeometries(QLayoutStyleInfo const&, QSizeF const&) const (qgridlayoutengine.cpp:1426) ==9425== by 0x51068FB: QGridLayoutEngine::setGeometries(QLayoutStyleInfo const&, QRectF const&) (qgridlayoutengine.cpp:955) ==9425== by 0x510DBBE: QGraphicsGridLayout::setGeometry(QRectF const&) (qgraphicsgridlayout.cpp:578) ==9425== by 0x50F59C3: QGraphicsLayout::activate() (qgraphicslayout.cpp:247) ==9425== by 0x50F5A4B: QGraphicsLayout::widgetEvent(QEvent*) (qgraphicslayout.cpp:310) ==9425== by 0x50FAF12: QGraphicsWidget::event(QEvent*) (qgraphicswidget.cpp:1163) ==9425== by 0x4B3AB9B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3804) ==9425== Address 0x6e7fa44 is 20 bytes inside a block of size 28 free'd ==9425== at 0x402371A: operator delete(void*) (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==9425== by 0x413DE44: Plasma::Extender::~Extender() (extender.cpp:63) ==9425== by 0x40F7DF3: Plasma::AppletPrivate::~AppletPrivate() (applet.cpp:1647) ==9425== by 0x40FB914: Plasma::Applet::~Applet() (applet.cpp:150) ==9425== by 0x414FF17: Plasma::PopupApplet::~PopupApplet() (popupapplet.cpp:58) ==9425== by 0xA389E5D: ClockApplet::~ClockApplet() (clockapplet.cpp:76) ==9425== by 0xA37B7B0: Clock::~Clock() (clock.cpp:68) ==9425== by 0x58C00FB: qDeleteInEventHandler(QObject*) (qobject.cpp:3665) ==9425== by 0x58C1AFA: QObject::event(QEvent*) (qobject.cpp:1139) ==9425== by 0x50FAF56: QGraphicsWidget::event(QEvent*) (qgraphicswidget.cpp:1239) ==9425== by 0x4B3AB9B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3804) ==9425== by 0x4B429FD: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3394) ==9425== ==9425== Invalid read of size 4 ==9425== at 0x50F6E9C: QGraphicsLayoutItem::sizePolicy() const (qgraphicslayoutitem.cpp:327) ==9425== by 0x51031B6: QGridLayoutItem::sizePolicy(Qt::Orientation) const (qgridlayoutengine.cpp:525) ==9425== by 0x51035FE: QGridLayoutItem::stretchFactor(Qt::Orientation) const (qgridlayoutengine.cpp:506) ==9425== by 0x5104E30: QGridLayoutEngine::fillRowData(QGridLayoutRowData*, QLayoutStyleInfo const&, Qt::Orientation) const (qgridlayoutengine.cpp:1259) ==9425== by 0x510617E: QGridLayoutEngine::ensureColumnAndRowData(QLayoutStyleInfo const&) const (qgridlayoutengine.cpp:1411) ==9425== by 0x5106305: QGridLayoutEngine::ensureGeometries(QLayoutStyleInfo const&, QSizeF const&) const (qgridlayoutengine.cpp:1426) ==9425== by 0x51068FB: QGridLayoutEngine::setGeometries(QLayoutStyleInfo const&, QRectF const&) (qgridlayoutengine.cpp:955) ==9425== by 0x510DBBE: QGraphicsGridLayout::setGeometry(QRectF const&) (qgraphicsgridlayout.cpp:578) ==9425== by 0x50F59C3: QGraphicsLayout::activate() (qgraphicslayout.cpp:247) ==9425== by 0x50F5A4B: QGraphicsLayout::widgetEvent(QEvent*) (qgraphicslayout.cpp:310) ==9425== by 0x50FAF12: QGraphicsWidget::event(QEvent*) (qgraphicswidget.cpp:1163) ==9425== by 0x4B3AB9B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3804) ==9425== Address 0xffffffff is not stack'd, malloc'd or (recently) free'd Forgot to mention... I used trunk from revision for the backtrace 867674. My Qt ist libqt4-x11-4.4.2+20081003-1.1 from http://download.opensuse.org/repositories/KDE:/Qt44/openSUSE_11.0/ Never mind! The crash disappeared after updating my qt4 to: 4.4.2+20081004-1.1 So it seemed to be a problem in Qt. |