Bug 329400

Summary: Plasma shell crashes when adding widgets.
Product: [Plasma] plasmashell Reporter: Bhushan Shah <bhush94>
Component: generalAssignee: Sebastian Kügler <sebas>
Status: RESOLVED FIXED    
Severity: crash CC: notmart
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Bhushan Shah 2013-12-30 07:03:05 UTC
Backtrace

(gdb) 
#0  0xb5b76cd5 in QCoreApplication::postEvent(QObject*, QEvent*, int) () from /usr/lib/libQt5Core.so.5
#1  0xb5b9ccbf in QObject::deleteLater() () from /usr/lib/libQt5Core.so.5
#2  0xb2d355f8 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#3  0xb2d2a252 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#4  0xb2d2b260 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#5  0xb2d2c1ca in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#6  0xb2d4eb04 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#7  0xb5b9be9b in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQt5Core.so.5
#8  0xb5b9f015 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#9  0xb6423254 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#10 0xb6428ba1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#11 0xb5b7411a in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#12 0xb5b7651b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#13 0xb5b76c9c in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQt5Core.so.5
#14 0xb5bc70ce in ?? () from /usr/lib/libQt5Core.so.5
#15 0xb4a3360e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0xb4a339b8 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0xb4a33a78 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#18 0xb5bc6cbd in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#19 0xb2d4fb16 in ?? () from /usr/lib/qt/plugins/platforms/libqxcb.so
#20 0xb5b72836 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#21 0xb5b72c4c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#22 0xb5b79a76 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#23 0xb5f7d8c4 in QGuiApplication::exec() () from /usr/lib/libQt5Gui.so.5
#24 0xb6421a74 in QApplication::exec() () from /usr/lib/libQt5Widgets.so.5
#25 0x08059cdb in main (argc=2, argv=0xbffff574) at /home/bshah/kdesrc/plasma-framework/src/shell/main.cpp:89
Comment 1 Sebastian Kügler 2013-12-31 13:38:11 UTC
I can't reproduce this, so I won't be able to fix it. :/

Can you give more information:

- which distro
- which version of Qt
- which version of XCB
- same problem in Xephyr? (Really just a guess)
- does it crash on startup, or only if you add widgets from the explorer?
- can you sprinke debugging statements into your code and point out a "rough" place where it crashes?
- does it work with plasmoidviewer?
- does it crash for any applet, or specific ones?

(The obvious problem with this bugreport is is that simple a bt is not nearly enough to debug this, something to remember for the future.)
Comment 2 Bhushan Shah 2013-12-31 13:44:16 UTC
- Arch Linux
- Using Qt version 5.2.0
- libxcb-1.10-1 (From package name)
- Not using Xephyr (I can try but)
- No it doesn't, only If I add widgets from the explorer
- Plasmoid viewer is not usable on my system (That's another problem)
- It crashes for any applet (To be specific, any containment like panel or applet)
Comment 3 Sebastian Kügler 2013-12-31 13:48:35 UTC
Please try in Xephyr. (That was the point of the question.)

Why is plasmoidviewer not usable? (Don't tease, just point it out right away, preferably with a bug#.) We need to tackle these problems, not ignore them and try to navigate around.

Could you try to check what happens if you remove bits and pieces from onAppletAdded in the containment, and see where it stops crashing, if at all?
Comment 4 Bhushan Shah 2013-12-31 15:45:10 UTC
It is totally crashing at start up in Xephyr. Can not test it. But as I tested it is going out of onAppletAdded and addApplet safely.
Comment 5 Sebastian Kügler 2013-12-31 15:57:24 UTC
Good. Now go on like that. :)

- Does it still crash if you return early from onAppletAdded?
- Does disabling code in appletinterface.cpp help?
Comment 6 Bhushan Shah 2014-01-02 14:11:01 UTC
Crash disappeared automatically after updating frameworks, closing bug,
Comment 7 Marco Martin 2014-03-10 13:19:40 UTC
This in particular doesn't happen anymore in master (i fixed it a while ago).

If similar crashes happen again however, much more details are needed in the report, such as more detailed bt (completed with source file/line)
and most important a detailed description of what you were doing that lead to the crash: for instance here "adding widgets" is not specified if it by double click on the widget explorer or by drag and drop, that are two completely different code paths
(just by chance i see from the bt that is probably related to drag and drop since is similar to what i used to have, but still, the more details the better)
Comment 8 Bhushan Shah 2014-03-10 13:22:49 UTC
Yes this bug is fixed.. it was drag and drop thing.