Bug 254070 - Crash when killing NetworkManager [WiredNetworkInterfaceActivatableProvider::needsActivatableForUnconfigured, NetworkInterfaceActivatableProvider::maintainActivatableForUnconfigured, NetworkInterfaceActivatableProvider::handleRemove]
Summary: Crash when killing NetworkManager [WiredNetworkInterfaceActivatableProvider::...
Status: RESOLVED FIXED
Alias: None
Product: Network Management
Classification: Miscellaneous
Component: KDED Module (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Will Stephenson
URL:
Keywords:
: 235544 254232 257706 267294 282547 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-10-13 16:02 UTC by Lindsay Smart
Modified: 2011-09-22 18:12 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (17.08 KB, text/plain)
2011-04-01 14:38 UTC, Edward Nygma
Details
New crash information added by DrKonqi (7.86 KB, text/plain)
2011-04-18 14:40 UTC, Edward Nygma
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lindsay Smart 2010-10-13 16:02:57 UTC
Application: kded4 ($Id: kded.cpp 1156841 2010-07-29 19:59:05Z zander $)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-22-generic x86_64
Distribution: Ubuntu 10.10

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

typed "killall -9 NetworkManager" into a terminal, then the crash dialogue appeared

The crash does not seem to be reproducible.

-- Backtrace:
Application: KDE Dæmon (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f65bd042760 (LWP 1846))]

Thread 2 (Thread 0x7f65a4169710 (LWP 1849)):
#0  0x00007f65b6f51ffc in g_main_context_poll (context=0x242c300, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.26.0/glib/gmain.c:3092
#1  g_main_context_iterate (context=0x242c300, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.26.0/glib/gmain.c:2775
#2  0x00007f65b6f5245c in g_main_context_iteration (context=0x242c300, may_block=1) at /build/buildd/glib2.0-2.26.0/glib/gmain.c:2843
#3  0x00007f65bba971e6 in QEventDispatcherGlib::processEvents (this=0x242b2c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f65bba69a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f65bba69dec in QEventLoop::exec (this=0x7f65a4168d30, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f65bb9742fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f65bb97727e in QThreadPrivate::start (arg=0x2425820) at thread/qthread_unix.cpp:266
#8  0x00007f65b0338953 in ?? () from /usr/lib/nvidia-current/libGL.so.1
#9  0x00007f65bb6ec971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f65b9d6692d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f65bd042760 (LWP 1846)):
[KCrash Handler]
#6  QMetaObject::cast (this=0x7f65a54dcdc0, obj=0x247d720) at kernel/qmetaobject.cpp:267
#7  0x00007f65a24b26f0 in WiredNetworkInterfaceActivatableProvider::needsActivatableForUnconfigured() const () from /usr/lib/libknmservice.so.4
#8  0x00007f65a24b16f8 in NetworkInterfaceActivatableProvider::maintainActivatableForUnconfigured() () from /usr/lib/libknmservice.so.4
#9  0x00007f65a24b1a2a in NetworkInterfaceActivatableProvider::handleRemove(Knm::Connection*) () from /usr/lib/libknmservice.so.4
#10 0x00007f65a24abf4e in ConnectionList::removeConnection(Knm::Connection*) () from /usr/lib/libknmservice.so.4
#11 0x00007f65a2289b8d in NMDBusSettingsConnectionProvider::clearConnections() () from /usr/lib/libknm_nm.so
#12 0x00007f65a228b814 in NMDBusSettingsConnectionProvider::serviceOwnerChanged(QString const&, QString const&, QString const&) () from /usr/lib/libknm_nm.so
#13 0x00007f65a225a53a in NMDBusSettingsConnectionProvider::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libknm_nm.so
#14 0x00007f65bba82b27 in QMetaObject::activate (sender=0x2422210, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x4) at kernel/qobject.cpp:3280
#15 0x00007f65bbdff0ff in QDBusConnectionInterface::serviceOwnerChanged (this=0x247d720, _t1=<value optimized out>, _t2=<value optimized out>, _t3=<value optimized out>) at .moc/release-shared/moc_qdbusconnectioninterface.cpp:210
#16 0x00007f65bbdff3a4 in QDBusConnectionInterface::qt_metacall (this=0x2422210, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffb9deaba0) at .moc/release-shared/moc_qdbusconnectioninterface.cpp:137
#17 0x00007f65bba82b27 in QMetaObject::activate (sender=0x2422210, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x4) at kernel/qobject.cpp:3280
#18 0x00007f65bbdff02f in QDBusConnectionInterface::NameOwnerChanged (this=0x247d720, _t1=<value optimized out>, _t2=<value optimized out>, _t3=<value optimized out>) at .moc/release-shared/moc_qdbusconnectioninterface.cpp:238
#19 0x00007f65bbdff40c in QDBusConnectionInterface::qt_metacall (this=0x2422210, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffb9deaf60) at .moc/release-shared/moc_qdbusconnectioninterface.cpp:141
#20 0x00007f65bbdc10ee in QDBusConnectionPrivate::deliverCall (this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=..., slotIdx=<value optimized out>) at qdbusintegrator.cpp:919
#21 0x00007f65bbdcc0ef in QDBusCallDeliveryEvent::placeMetaCall (this=0x4800227c99058d48, object=0x247d720) at qdbusintegrator_p.h:103
#22 0x00007f65bba7cbde in QObject::event (this=0x2422210, e=0x247d720) at kernel/qobject.cpp:1219
#23 0x00007f65ba959fdc in QApplicationPrivate::notify_helper (this=0x22b54e0, receiver=0x2422210, e=0x25d2090) at kernel/qapplication.cpp:4396
#24 0x00007f65ba95faed in QApplication::notify (this=0x7fffb9deba50, receiver=0x2422210, e=0x25d2090) at kernel/qapplication.cpp:4277
#25 0x00007f65bca3c156 in KApplication::notify (this=0x7fffb9deba50, receiver=0x2422210, event=0x25d2090) at ../../kdeui/kernel/kapplication.cpp:310
#26 0x00007f65bba6acdc in QCoreApplication::notifyInternal (this=0x7fffb9deba50, receiver=0x2422210, event=0x25d2090) at kernel/qcoreapplication.cpp:732
#27 0x00007f65bba6dc22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x21deb00) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#28 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x21deb00) at kernel/qcoreapplication.cpp:1373
#29 0x00007f65bba97653 in sendPostedEvents (s=0x22b8f60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#30 postEventSourceDispatch (s=0x22b8f60) at kernel/qeventdispatcher_glib.cpp:277
#31 0x00007f65b6f4e342 in g_main_dispatch (context=0x22b8120) at /build/buildd/glib2.0-2.26.0/glib/gmain.c:2149
#32 g_main_context_dispatch (context=0x22b8120) at /build/buildd/glib2.0-2.26.0/glib/gmain.c:2702
#33 0x00007f65b6f522a8 in g_main_context_iterate (context=0x22b8120, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.26.0/glib/gmain.c:2780
#34 0x00007f65b6f5245c in g_main_context_iteration (context=0x22b8120, may_block=1) at /build/buildd/glib2.0-2.26.0/glib/gmain.c:2843
#35 0x00007f65bba97193 in QEventDispatcherGlib::processEvents (this=0x21e0d30, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#36 0x00007f65baa0ca4e in QGuiEventDispatcherGlib::processEvents (this=0x247d720, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#37 0x00007f65bba69a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#38 0x00007f65bba69dec in QEventLoop::exec (this=0x7fffb9deb9a0, flags=) at kernel/qeventloop.cpp:201
#39 0x00007f65bba6debb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#40 0x00007f65abf14bf7 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../kded/kded.cpp:894
#41 0x0000000000407713 in launch (argc=1, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=0, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40ab27 "0") at ../../kinit/kinit.cpp:723
#42 0x000000000040970f in main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at ../../kinit/kinit.cpp:1835

Reported using DrKonqi
Comment 1 Dario Andres 2010-11-24 19:25:28 UTC
[Comment from a bug triager]
From bug 257706:
Plasma crashed after trying to use Network Manager
- What I was doing when the application crashed:
Trying to activate network.
Network manager service reported as Dead. Manually using dhclient, I can use
the network, but trough the plasma network manager, I can not.

Other backtrace hints from bug 254232:
[KCrash Handler]
#7  0x0760bb25 in Solid::Control::WiredNetworkInterface::carrier() const ()
from /usr/lib/libsolidcontrol.so.4
#8  0x0811c83d in
WiredNetworkInterfaceActivatableProvider::needsActivatableForUnconfigured()
const () from /usr/lib/libknmservice.so.4
...
Comment 2 Dario Andres 2010-11-24 19:25:33 UTC
*** Bug 254232 has been marked as a duplicate of this bug. ***
Comment 3 Dario Andres 2010-11-24 19:25:37 UTC
*** Bug 257706 has been marked as a duplicate of this bug. ***
Comment 4 Lamarque V. Souza 2011-01-15 21:41:40 UTC
Last November I commited a patch to solve this problem, commit number 1600a9301a86017d2d8522dee0da9861f4aeda86 in git. Is it still happening to you? If not we can close this bug and mark it as solved.
Comment 5 Frank Reininghaus 2011-02-28 11:30:28 UTC
*** Bug 235544 has been marked as a duplicate of this bug. ***
Comment 6 Frank Reininghaus 2011-02-28 11:33:01 UTC
*** Bug 267294 has been marked as a duplicate of this bug. ***
Comment 7 Edward Nygma 2011-04-01 14:38:20 UTC
Created attachment 58498 [details]
New crash information added by DrKonqi

plasma-desktop (0.3) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.7.1

- What I was doing when the application crashed:
Reproducing bug #254070:
"killall -9 NetworkManager" and then restart NetworkManager from services.

-- Backtrace (Reduced):
#7  Solid::Control::FrontendObjectPrivate::backendObject (this=0x10) at /usr/src/debug/kdebase-workspace-4.5.5/libs/solid/control/frontendobject.cpp:39
#8  0x047a5f85 in Solid::Control::NetworkInterface::uni (this=0xa8d6e00) at /usr/src/debug/kdebase-workspace-4.5.5/libs/solid/control/networkinterface.cpp:63
#9  0x04289f19 in UiUtils::connectionForInterface (activatables=0x9fa19c0, interface=0xa8d6e00) at /usr/src/debug/networkmanagement-0.9/libs/internals/uiutils.cpp:247
#10 0x0133c7a0 in InterfaceItem::currentConnectionChanged (this=0xac20f90) at /usr/src/debug/networkmanagement-0.9/applet/interfaceitem.cpp:309
#11 0x0133c600 in InterfaceItem::setConnectionInfo (this=0xac20f90) at /usr/src/debug/networkmanagement-0.9/applet/interfaceitem.cpp:271
Comment 8 Edward Nygma 2011-04-01 14:43:01 UTC
This does not look resolved to me. As you can see, I reproduced the bug in the comment above.

Additionally, bug #267294 (duplicate) was reported in February 2011, so I don`t know how effective the November 2010 patch was.

I am still getting such crashes occasionally and will report as much as possible.

Thanks.
Comment 9 Lindsay Smart 2011-04-01 20:48:14 UTC
It's still present for me, but it might be possible that the fix is not in the updates that automatically come from the Ubuntu repositories.

Is there a command I can run to see if the version I have is the one that contains the fix in comment #4 or not?
Comment 10 Edward Nygma 2011-04-18 14:40:47 UTC
Created attachment 59095 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.6.1 (4.6.1) using Qt 4.7.1

- What I was doing when the application crashed:
1. Resumed from stand-by and NetworkManager was dead.
2. Tried to start the NM service using system-config-services and the crash occured.

-- Backtrace (Reduced):
#8  0x01be1e10 in NMPopup::updateHasWireless (this=0xa6cc5d8) at /usr/src/debug/networkmanagement-0.9/applet/nmpopup.cpp:536
#9  0x01be27a6 in NMPopup::networkingEnabledToggled (this=0xa6cc5d8, checked=false) at /usr/src/debug/networkmanagement-0.9/applet/nmpopup.cpp:512
#10 0x01bda710 in NMPopup::qt_metacall (this=0xa6cc5d8, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbf885cb8) at /usr/src/debug/networkmanagement-0.9/i686-redhat-linux-gnu/applet/moc_nmpopup.cpp:107
[...]
#13 0x029b62fa in Plasma::CheckBox::toggled (this=0xa6d1d18, _t1=false) at /usr/src/debug/kdelibs-4.6.1/i686-redhat-linux-gnu/plasma/checkbox.moc:145
#14 0x029b6386 in Plasma::CheckBox::qt_metacall (this=0xa6d1d18, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf885f48) at /usr/src/debug/kdelibs-4.6.1/i686-redhat-linux-gnu/plasma/checkbox.moc:96
Comment 11 Lamarque V. Souza 2011-06-02 20:12:05 UTC
I am not able to reproduce this bug in a recent Plasma NM snapshot. If nobody also can I will close this bug as fixed. Please keep in mind that some distributions is shipping very outdated Plasma NM snapshot from last year. When testing make sure it is recent Plasma NM snapshot. If you cannot assure that then it is better clone networkmanagement repository and compile Plasma NM yourself:

git clone git://anongit.kde.org/netwokmanagement
mkdir networkmanagement/build
cd networkmanagement/build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
make install
Comment 12 Lamarque V. Souza 2011-06-23 22:56:28 UTC
Closing bug. Reopen if it happens again.
Comment 13 Lamarque V. Souza 2011-09-22 18:04:35 UTC
*** Bug 282547 has been marked as a duplicate of this bug. ***
Comment 14 Lamarque V. Souza 2011-09-22 18:05:53 UTC
Git commit 809bc46d2f4708b0e3d11568a72ed1ad335541e2 by Lamarque V. Souza.
Committed on 22/09/2011 at 20:02.
Pushed by lvsouza into branch 'nm09'.

Prevents two crashes because of dangling pointers when NM stops.

BUG: 254070

M  +27   -0    libs/service/networkinterfaceactivatableprovider.cpp
M  +4    -0    libs/service/networkinterfaceactivatableprovider.h
M  +6    -1    libs/service/wirednetworkinterfaceactivatableprovider.cpp
M  +3    -1    libs/service/wirelessnetworkinterfaceactivatableprovider.cpp
M  +1    -1    plasma_nm_version.h

http://commits.kde.org/networkmanagement/809bc46d2f4708b0e3d11568a72ed1ad335541e2
Comment 15 Lamarque V. Souza 2011-09-22 18:12:33 UTC
Git commit f72e4ecc141c450b139e0afb6adca00672079868 by Lamarque V. Souza.
Committed on 22/09/2011 at 20:02.
Pushed by lvsouza into branch 'master'.

Prevents two crashes because of dangling pointers when NM stops.

BUG: 254070

M  +27   -0    libs/service/networkinterfaceactivatableprovider.cpp
M  +4    -0    libs/service/networkinterfaceactivatableprovider.h
M  +6    -1    libs/service/wirednetworkinterfaceactivatableprovider.cpp
M  +3    -1    libs/service/wirelessnetworkinterfaceactivatableprovider.cpp

http://commits.kde.org/networkmanagement/f72e4ecc141c450b139e0afb6adca00672079868