Bug 358143 - Segmentation fault during normal usage (both autostart and manual start)
Summary: Segmentation fault during normal usage (both autostart and manual start)
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: XembedSNIProxy (show other bugs)
Version: 5.5.3
Platform: Mageia RPMs Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-17 20:59 UTC by Rémi Verschelde
Modified: 2016-01-18 10:17 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Console output and gdb backtrace around a segfault (5.40 KB, text/plain)
2016-01-17 20:59 UTC, Rémi Verschelde
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rémi Verschelde 2016-01-17 20:59:33 UTC
Created attachment 96702 [details]
Console output and gdb backtrace around a segfault

Using Plasma 5.5.3 on Mageia Cauldron 64-bit with Qt 5.6.0-beta.

XembedSNIProxy seems to segfault relatively often with (so far) no reliable pattern that I could identify. I've opened a bug report on Mageia's bugzilla about this issue, where I started to do some investigation: https://bugs.mageia.org/show_bug.cgi?id=17516

The utility is properly started with plasmashell, but apparently crashes after a short while. Running it again from a terminal seem to show that it's a segmentation fault, though it can happen after quite a long time of normal usage (including legacy icons for hexchat, clementine, Mageia's net_applet and mgaapplet).

I ran it through gdb and just got this crash:

---
kde.xembedsniproxy: trying to dock window  75497483
kde.xembedsniproxy: adding damage watch for  75497483

Program received signal SIGSEGV, Segmentation fault.
0x000000000040e697 in SNIProxy::SNIProxy (this=0x709d30, wid=75497483, parent=<optimized out>) at /usr/src/debug/plasma-workspace-5.5.3/xembed-sni-proxy/sniproxy.cpp:165
165         if (clientGeom->width > s_embedSize || clientGeom->height > s_embedSize )
---

And the backtrace:
---
(gdb) bt
#0  0x000000000040e697 in SNIProxy::SNIProxy(unsigned int, QObject*) (this=0x709d30, wid=75497483, parent=<optimized out>)
    at /usr/src/debug/plasma-workspace-5.5.3/xembed-sni-proxy/sniproxy.cpp:165
#1  0x000000000040c3f3 in FdoSelectionManager::dock(unsigned int) (this=this@entry=0x7fffffffd970, winId=75497483)
    at /usr/src/debug/plasma-workspace-5.5.3/xembed-sni-proxy/fdoselectionmanager.cpp:157
#2  0x000000000040c55c in FdoSelectionManager::nativeEventFilter(QByteArray const&, void*, long*) (this=0x7fffffffd970, eventType=..., message=0x7fffe4004ee0, result=<optimized out>)
    at /usr/src/debug/plasma-workspace-5.5.3/xembed-sni-proxy/fdoselectionmanager.cpp:124
#3  0x00007ffff6958237 in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x7fffe4004ee0, result=result@entry=0x7fffffffd478) at kernel/qabstracteventdispatcher.cpp:460
#4  0x00007fffee33a0c5 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x641be0, event=event@entry=0x7fffe4004ee0) at qxcbconnection.cpp:1062
#5  0x00007fffee33afb6 in QXcbConnection::processXcbEvents() (this=0x641be0) at qxcbconnection.cpp:1672
#6  0x00007ffff698706a in QObject::event(QEvent*) (this=0x641be0, e=<optimized out>) at kernel/qobject.cpp:1256
#7  0x00007ffff695b1ea in QCoreApplication::notify(QObject*, QEvent*) (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1088
#8  0x00007ffff695b1ea in QCoreApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1074
#9  0x00007ffff695b348 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x641be0, event=event@entry=0x7fffe4006d40) at kernel/qcoreapplication.cpp:1013
#10 0x00007ffff695d16b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x7fffe4006d40, receiver=<optimized out>) at kernel/qcoreapplication.h:227
#11 0x00007ffff695d16b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x635710)
    at kernel/qcoreapplication.cpp:1648
#12 0x00007ffff695d638 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1506
#13 0x00007ffff69ad1d3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x6910c0) at kernel/qeventdispatcher_glib.cpp:270
#14 0x00007ffff2e70267 in g_main_context_dispatch (context=0x7fffe40016f0) at gmain.c:3154
#15 0x00007ffff2e70267 in g_main_context_dispatch (context=context@entry=0x7fffe40016f0) at gmain.c:3769
#16 0x00007ffff2e70498 in g_main_context_iterate (context=context@entry=0x7fffe40016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#17 0x00007ffff2e7053c in g_main_context_iteration (context=0x7fffe40016f0, may_block=may_block@entry=1) at gmain.c:3901
#18 0x00007ffff69ad5e6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x68edf0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#19 0x00007ffff695903a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd8d0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#20 0x00007ffff6961541 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1283
#21 0x00007ffff6c9d2cc in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1573
#22 0x000000000040a02f in main(int, char**) (argc=1, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.5.3/xembed-sni-proxy/main.cpp:68
---

(also attached as a text file in case the bugzilla format is not easy to read).
Comment 1 David Edmundson 2016-01-18 10:17:53 UTC
Thanks, it's already fixed for 5.5.4