Bug 312635

Summary: Plasma desktop crash after pkilling -9 NetworkManager
Product: [Unmaintained] Network Management Reporter: Jaak Ristioja <jaak>
Component: generalAssignee: Lamarque V. Souza <lamarque>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: 0.9   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jaak Ristioja 2013-01-04 20:24:49 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.9.4 (Compiled from sources)
Qt Version: 4.8.4
Operating System: Linux 3.6.8-hardened-arm x86_64
Distribution: "Gentoo Base System release 2.1"

-- Information about the crash:
- What I was doing when the application crashed:

I was messing with setting up my network connections and I had to SIGKILL NetworkManager because it wouldn't close using the /etc/init.d/NetworkManager script.

-- Backtrace:
Application: Plasma Desktop Shell (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x6b23e85be780 (LWP 2835))]

Thread 2 (Thread 0x6b23c3cc4700 (LWP 2838)):
#0  0x00006b23e861886f in clock_gettime ()
#1  0x00006b23e2c6b89d in __GI_clock_gettime (clock_id=1, tp=0x6b23c3cc3b30) at ../sysdeps/unix/clock_gettime.c:100
#2  0x00006b23e71102c4 in do_gettime (frac=0x6b23c3cc3b48, sec=0x6b23c3cc3b40) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x00006b23e71f436d in QTimerInfoList::updateCurrentTime (this=0x6b23b4002660) at kernel/qeventdispatcher_unix.cpp:354
#5  0x00006b23e71f46f3 in QTimerInfoList::timerWait (this=0x6b23b4002660, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0x00006b23e71f2d0c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x6b23c3cc3c1c) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00006b23e71f2db5 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00006b23e299018e in g_main_context_prepare (context=0x6b23b40009a0, priority=0x6b23c3cc3c68) at gmain.c:2836
#9  0x00006b23e29908ab in g_main_context_iterate (dispatch=1, block=1, context=0x6b23b40009a0, self=<optimized out>) at gmain.c:3126
#10 g_main_context_iterate (context=0x6b23b40009a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3083
#11 0x00006b23e2990ab4 in g_main_context_iteration (context=0x6b23b40009a0, may_block=1) at gmain.c:3207
#12 0x00006b23e71f3846 in QEventDispatcherGlib::processEvents (this=0x6b23b40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#13 0x00006b23e71bf882 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#14 0x00006b23e71bfac7 in QEventLoop::exec (this=0x6b23c3cc3da0, flags=...) at kernel/qeventloop.cpp:204
#15 0x00006b23e70b0fa8 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#16 0x00006b23e719d293 in QInotifyFileSystemWatcherEngine::run (this=0xa74a254ee50) at io/qfilesystemwatcher_inotify.cpp:256
#17 0x00006b23e70b3ec2 in QThreadPrivate::start (arg=0xa74a254ee50) at thread/qthread_unix.cpp:338
#18 0x00006b23e6e1cec6 in start_thread (arg=0x6b23c3cc4700) at pthread_create.c:305
#19 0x00006b23e5ac33fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x6b23e85be780 (LWP 2835)):
[KCrash Handler]
#6  0x00006b23ccf0985a in Solid::Control::NetworkInterfaceNm09::connectionState (this=<optimized out>) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5/solidcontrolfuture/libs/solid/control/networkinterface.cpp:125
#7  0x00006b23cda3a2f1 in NetworkManagerApplet::interfaceConnectionStateChanged (this=0xa74a1d75330) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5/applet/networkmanager.cpp:619
#8  0x00006b23cda3ce3d in NetworkManagerApplet::networkInterfaceAdded (this=0xa74a1d75330, uni=...) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5/applet/networkmanager.cpp:567
#9  0x00006b23cda3e529 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/applet/networkmanager.moc:99
#10 NetworkManagerApplet::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/applet/networkmanager.moc:87
#11 0x00006b23e71d721f in QMetaObject::activate (sender=0xa74a1c98b50, m=<optimized out>, local_signal_index=<optimized out>, argv=0x71c742cd8160) at kernel/qobject.cpp:3539
#12 0x00006b23ccf07bd5 in Solid::Control::NetworkManagerNm09::Notifier::networkInterfaceAdded (this=<optimized out>, _t1=...) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/solidcontrolfuture/libs/solid/control/networkmanager.moc:130
#13 0x00006b23e71d721f in QMetaObject::activate (sender=0xa74a1bf80a0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x71c742cd82a0) at kernel/qobject.cpp:3539
#14 0x00006b23cc07c0c5 in Solid::Control::Ifaces::NetworkManagerNm09::networkInterfaceAdded (this=<optimized out>, _t1=...) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/solidcontrolfuture/libs/solid/control/ifaces/networkmanager.moc:140
#15 0x00006b23cc298309 in NMNetworkManagerNm09::deviceAdded (this=0xa74a1bf80a0, objpath=...) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5/solidcontrolfuture/solid/networkmanager-0.9/manager.cpp:278
#16 0x00006b23cc29be79 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/solidcontrolfuture/solid/networkmanager-0.9/manager.moc:71
#17 NMNetworkManagerNm09::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/solidcontrolfuture/solid/networkmanager-0.9/manager.moc:61
#18 0x00006b23e71d721f in QMetaObject::activate (sender=0xa74a1e5ff50, m=<optimized out>, local_signal_index=<optimized out>, argv=0x71c742cd8490) at kernel/qobject.cpp:3539
#19 0x00006b23cc2a7295 in OrgFreedesktopNetworkManagerInterface::DeviceAdded (this=<optimized out>, _t1=...) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/solidcontrolfuture/solid/networkmanager-0.9/nm-managerinterface.moc:222
#20 0x00006b23cc2a79d9 in OrgFreedesktopNetworkManagerInterface::qt_static_metacall (_o=0xa74a1e5ff50, _id=<optimized out>, _a=0x71c742cd89d0, _c=<optimized out>) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/solidcontrolfuture/solid/networkmanager-0.9/nm-managerinterface.moc:106
#21 0x00006b23cc2a895f in OrgFreedesktopNetworkManagerInterface::qt_metacall (this=0xa74a1e5ff50, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x71c742cd89d0) at /usr/src/debug/kde-misc/networkmanagement-0.9.0.5/networkmanagement-0.9.0.5_build/solidcontrolfuture/solid/networkmanager-0.9/nm-managerinterface.moc:168
#22 0x00006b23e3df60a0 in QDBusConnectionPrivate::deliverCall (this=0xa74a1e09e20, object=0xa74a1e5ff50, msg=..., metaTypes=..., slotIdx=6) at qdbusintegrator.cpp:951
#23 0x00006b23e71dc856 in QObject::event (this=0xa74a1e5ff50, e=<optimized out>) at kernel/qobject.cpp:1194
#24 0x00006b23e627fb12 in notify_helper (e=0xa74a24e4cc0, receiver=0xa74a1e5ff50, this=0xa74a1988440) at kernel/qapplication.cpp:4562
#25 QApplicationPrivate::notify_helper (this=0xa74a1988440, receiver=0xa74a1e5ff50, e=0xa74a24e4cc0) at kernel/qapplication.cpp:4534
#26 0x00006b23e62853a9 in QApplication::notify (this=0xa74a1985e90, receiver=0xa74a1e5ff50, e=0xa74a24e4cc0) at kernel/qapplication.cpp:4423
#27 0x00006b23e7fbd016 in KApplication::notify (this=0xa74a1985e90, receiver=0xa74a1e5ff50, event=0xa74a24e4cc0) at /usr/src/debug/kde-base/kdelibs-4.9.4-r1/kdelibs-4.9.4/kdeui/kernel/kapplication.cpp:311
#28 0x00006b23e71c15bc in QCoreApplication::notifyInternal (this=0xa74a1985e90, receiver=0xa74a1e5ff50, event=0xa74a24e4cc0) at kernel/qcoreapplication.cpp:946
#29 0x00006b23e71c4ee5 in sendEvent (event=0xa74a24e4cc0, receiver=0xa74a1e5ff50) at kernel/qcoreapplication.h:231
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xa74a1899370) at kernel/qcoreapplication.cpp:1570
#31 0x00006b23e71f3383 in sendPostedEvents () at kernel/qcoreapplication.h:236
#32 postEventSourceDispatch (s=0xa74a19876f0) at kernel/qeventdispatcher_glib.cpp:279
#33 0x00006b23e29906a3 in g_main_dispatch (context=0xa74a19862b0) at gmain.c:2539
#34 g_main_context_dispatch (context=0xa74a19862b0) at gmain.c:3075
#35 0x00006b23e29909f0 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0xa74a19862b0, self=<optimized out>) at gmain.c:3146
#36 g_main_context_iterate (context=0xa74a19862b0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3083
#37 0x00006b23e2990ab4 in g_main_context_iteration (context=0xa74a19862b0, may_block=1) at gmain.c:3207
#38 0x00006b23e71f37df in QEventDispatcherGlib::processEvents (this=0xa74a19878e0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#39 0x00006b23e632f89e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00006b23e71bf882 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#41 0x00006b23e71bfac7 in QEventLoop::exec (this=0x71c742cd94c0, flags=...) at kernel/qeventloop.cpp:204
#42 0x00006b23e71c52f7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#43 0x00006b23d511cde3 in kdemain (argc=1, argv=0xa74a189a790) at /usr/src/debug/kde-base/plasma-workspace-4.9.4/plasma-workspace-4.9.4/plasma/desktop/shell/main.cpp:120
#44 0x00000a749ee78c42 in launch (argc=1, _name=0xa74a1898bf8 "/usr/bin/plasma-desktop", args=<optimized out>, cwd=0x0, envc=<optimized out>, envs=<optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0xa749ee7b72e "0") at /usr/src/debug/kde-base/kdelibs-4.9.4-r1/kdelibs-4.9.4/kinit/kinit.cpp:726
#45 0x00000a749ee79d66 in handle_launcher_request (sock=7, who=<optimized out>) at /usr/src/debug/kde-base/kdelibs-4.9.4-r1/kdelibs-4.9.4/kinit/kinit.cpp:1218
#46 0x00000a749ee7a2a3 in handle_requests (waitForPid=0) at /usr/src/debug/kde-base/kdelibs-4.9.4-r1/kdelibs-4.9.4/kinit/kinit.cpp:1411
#47 0x00000a749ee75bf0 in main (argc=2, argv=0x71c742cda4a0, envp=0x71c742cda770) at /usr/src/debug/kde-base/kdelibs-4.9.4-r1/kdelibs-4.9.4/kinit/kinit.cpp:1899

Reported using DrKonqi
Comment 1 Lamarque V. Souza 2013-01-04 21:02:53 UTC
When you kill NetworkManager using -9 parameter you do not give NetworkManager time to signal other programs that it is quiting. That is not the normal way of closing NetworkManager, so we do not need to support that.
Comment 2 Jaak Ristioja 2013-01-04 21:25:44 UTC
NetworkManager might also crash which would result in the same behaviour (crash of Plasma desktop). I and many others consider it bad quality if software doesn't handle such cases properly. Either way,  THIS  IS  STILL  A  BUG  unless you can prove that
    1) NetworkManager will never crash, or
    2) if it would, Plasma wouldn't crash, or
    3) Plasma handles cases where NetworkManager terminates with SIGSEGV, SIGABRT or similar, but not SIGKILL and the like, and
    4) none of the items above will be a problem in the future.

"We don't support cases where processes we communicate with crash." is not an excuse! Good programmers DO CONSIDER such cases. I suggest You be one of them! But of course, who am I to force KDE devs to write quality software... :-(
Comment 3 Lamarque V. Souza 2013-01-31 18:36:18 UTC

*** This bug has been marked as a duplicate of bug 314200 ***