Bug 304466 - Plasma crashed after re-enabling wireless networking
Summary: Plasma crashed after re-enabling wireless networking
Status: RESOLVED DOWNSTREAM
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 320942 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-08-02 19:48 UTC by Hrvoje Senjan
Modified: 2013-08-06 02:23 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (8.52 KB, text/plain)
2013-01-21 22:46 UTC, Kai Uwe Broulik
Details
New crash information added by DrKonqi (11.80 KB, text/plain)
2013-03-10 18:26 UTC, Kai Uwe Broulik
Details
New crash information added by DrKonqi (21.63 KB, text/plain)
2013-08-06 02:23 UTC, PinguinoGoku
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hrvoje Senjan 2012-08-02 19:48:10 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.9.00 "release 1" (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.4.6-2.9-desktop x86_64
Distribution: "openSUSE 12.2 (x86_64)"

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

Disabled, and re-enable wireless networking from nm widget. Tried a few more time, but crash didn't happen again.
Using nm 0.9.4 and master networkmanagement/libnm-qt/KDE/plasma

-- Backtrace:
Application: Plasma Desktop Shell (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fadf016a780 (LWP 1689))]

Thread 4 (Thread 0x7fadd1989700 (LWP 1838)):
#0  0x00007fadeea498f4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fade36f3217 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fade3a00640 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fade36f3249 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fadeea45e0e in start_thread () from /lib64/libpthread.so.0
#4  0x00007faded7bf2bd in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fadc6398700 (LWP 1839)):
#0  QThreadData::current () at thread/qthread_unix.cpp:203
#1  0x00007fadeee03cc9 in postEventSourcePrepare (s=0x7fadc00012d0, timeout=0x7fadc6397c4c) at kernel/qeventdispatcher_glib.cpp:256
#2  0x00007fadea709f0f in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fadea70a5fb in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007fadea70a7f4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007fadeee043f6 in QEventDispatcherGlib::processEvents (this=0x7fadc00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007fadeedd4ebf in QEventLoop::processEvents (this=this@entry=0x7fadc6397df0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fadeedd5148 in QEventLoop::exec (this=0x7fadc6397df0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fadeecd8ef0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007fadeedb589f in QInotifyFileSystemWatcherEngine::run (this=0x2352f30) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007fadeecdbe8b in QThreadPrivate::start (arg=0x2352f30) at thread/qthread_unix.cpp:307
#11 0x00007fadeea45e0e in start_thread () from /lib64/libpthread.so.0
#12 0x00007faded7bf2bd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fadbd79e700 (LWP 1859)):
#0  0x00007faded7b713f in poll () from /lib64/libc.so.6
#1  0x00007fadea70a6d4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fadea70a7f4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fadeee043f6 in QEventDispatcherGlib::processEvents (this=0x7fadb00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007fadeedd4ebf in QEventLoop::processEvents (this=this@entry=0x7fadbd79de20, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fadeedd5148 in QEventLoop::exec (this=0x7fadbd79de20, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fadeecd8ef0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007fadeecdbe8b in QThreadPrivate::start (arg=0x7fadb80034c0) at thread/qthread_unix.cpp:307
#8  0x00007fadeea45e0e in start_thread () from /lib64/libpthread.so.0
#9  0x00007faded7bf2bd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fadf016a780 (LWP 1689)):
[KCrash Handler]
#6  InterfaceDetailsWidget::handleConnectionStateChange (this=0x2693c40, new_state=NetworkManager::Device::Disconnected, old_state=<optimized out>, reason=<optimized out>) at /usr/src/debug/networkmanagement-0.9.60git.1343677430/applet/interfacedetailswidget.cpp:586
#7  0x00007fadeedec9ff in QMetaObject::activate (sender=0x253c3b0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff3e261e60) at kernel/qobject.cpp:3556
#8  0x00007fadc664323d in NetworkManager::Device::stateChanged (this=<optimized out>, _t1=NetworkManager::Device::Disconnected, _t2=NetworkManager::Device::Unavailable, _t3=NetworkManager::Device::SupplicantAvailableReason) at /usr/src/debug/libnm-qt-0.5.0git.1342705341/build/moc_device.cxx:203
#9  0x00007fadc66629a0 in NetworkManager::Device::deviceStateChanged (this=0x253c3b0, new_state=<optimized out>, old_state=20, reason=42) at /usr/src/debug/libnm-qt-0.5.0git.1342705341/device.cpp:353
#10 0x00007fadeedec9ff in QMetaObject::activate (sender=0x2284068, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff3e262010) at kernel/qobject.cpp:3556
#11 0x00007fadc6682b1a in OrgFreedesktopNetworkManagerDeviceInterface::StateChanged (this=this@entry=0x2284068, _t1=30, _t2=20, _t3=42) at /usr/src/debug/libnm-qt-0.5.0git.1342705341/build/nm-deviceinterface.moc:166
#12 0x00007fadc6682b9d in qt_static_metacall (_a=0x7fff3e262370, _o=0x2284068, _c=<optimized out>, _id=<optimized out>) at /usr/src/debug/libnm-qt-0.5.0git.1342705341/build/nm-deviceinterface.moc:78
#13 OrgFreedesktopNetworkManagerDeviceInterface::qt_static_metacall (_o=0x2284068, _c=<optimized out>, _id=0, _a=0x7fff3e262370) at /usr/src/debug/libnm-qt-0.5.0git.1342705341/build/nm-deviceinterface.moc:72
#14 0x00007fadc6682eaf in OrgFreedesktopNetworkManagerDeviceInterface::qt_metacall (this=0x2284068, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff3e262370) at /usr/src/debug/libnm-qt-0.5.0git.1342705341/build/nm-deviceinterface.moc:119
#15 0x00007fadebb5fc5a in QDBusConnectionPrivate::deliverCall (this=0x17fca40, object=0x2284068, msg=..., metaTypes=..., slotIdx=5) at qdbusintegrator.cpp:947
#16 0x00007fadeedeab4e in QObject::event (this=0x2284068, e=<optimized out>) at kernel/qobject.cpp:1204
#17 0x00007fadedf6569c in QApplicationPrivate::notify_helper (this=this@entry=0x1693500, receiver=receiver@entry=0x2284068, e=e@entry=0x3116800) at kernel/qapplication.cpp:4551
#18 0x00007fadedf69b1a in QApplication::notify (this=0x166bf70, receiver=0x2284068, e=0x3116800) at kernel/qapplication.cpp:4412
#19 0x00007fadefb6c0a6 in KApplication::notify (this=0x166bf70, receiver=0x2284068, event=0x3116800) at /usr/src/debug/kdelibs-git/kdeui/kernel/kapplication.cpp:311
#20 0x00007fadeedd616e in QCoreApplication::notifyInternal (this=0x166bf70, receiver=receiver@entry=0x2284068, event=event@entry=0x3116800) at kernel/qcoreapplication.cpp:915
#21 0x00007fadeedd9ad1 in sendEvent (event=0x3116800, receiver=0x2284068) at kernel/qcoreapplication.h:231
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x15932b0) at kernel/qcoreapplication.cpp:1539
#23 0x00007fadeee04243 in sendPostedEvents () at kernel/qcoreapplication.h:236
#24 postEventSourceDispatch (s=0x1693480) at kernel/qeventdispatcher_glib.cpp:279
#25 0x00007fadea70a405 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#26 0x00007fadea70a738 in ?? () from /usr/lib64/libglib-2.0.so.0
#27 0x00007fadea70a7f4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#28 0x00007fadeee043d6 in QEventDispatcherGlib::processEvents (this=0x1668d30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#29 0x00007fadee0057fe in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007fadeedd4ebf in QEventLoop::processEvents (this=this@entry=0x7fff3e262cf0, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007fadeedd5148 in QEventLoop::exec (this=0x7fff3e262cf0, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007fadeedd9de8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#33 0x00007fadddb7d465 in kdemain (argc=1, argv=0x160b8c0) at /usr/src/debug/kde-workspace-git/plasma/desktop/shell/main.cpp:120
#34 0x0000000000408892 in launch (argc=argc@entry=1, _name=_name@entry=0x1603e48 "/usr/bin/plasma-desktop", args=args@entry=0x1603e60 "", cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x1603e68 "", reset_env=false, tty=tty@entry=0x0, avoid_loops=false, startup_id_str=startup_id_str@entry=0x40b12e "0") at /usr/src/debug/kdelibs-git/kinit/kinit.cpp:734
#35 0x000000000040972b in handle_launcher_request (sock=8, who=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at /usr/src/debug/kdelibs-git/kinit/kinit.cpp:1226
#36 0x0000000000409d70 in handle_requests (waitForPid=waitForPid@entry=0) at /usr/src/debug/kdelibs-git/kinit/kinit.cpp:1419
#37 0x00000000004058f7 in main (argc=4, argv=<optimized out>, envp=0x7fff3e263cb0) at /usr/src/debug/kdelibs-git/kinit/kinit.cpp:1907

Reported using DrKonqi
Comment 1 Lamarque V. Souza 2012-08-04 02:24:46 UTC
libnm-qt-0.5.0git.1342705341 is not the libnm-qt version we maintain. If OpenSuse is patching the libnm-qt we implement then I cannot help here. Keep in mind that libnm-qt does not maintain binary compatibility, so everytime we upgrade libnm-qt you have to recompile Plasma NM.
Comment 2 Hrvoje Senjan 2012-08-04 02:37:09 UTC
It's just the naming, and not official package, i have a project on OBS for master git. You can see when the last pull was here:
https://build.opensuse.org/package/files?package=libQtNetworkManager&project=home%3Asumski%3AKDE%3AUnstable%3ASC
(Which pulls from git://anongit1.kde.org/libnm-qt.git)
https://build.opensuse.org/package/files?package=NetworkManager-kde4&project=home%3Asumski%3AKDE%3AUnstable%3ASC
(which pulls from git://anongit.kde.org/networkmanagement)
Comment 3 Lamarque V. Souza 2012-08-04 02:46:05 UTC
Why are you using 0.5.0 as the version? The current version is 0.9.0. I also cannot reproduce this problem here and I use master version most of the time. Again: you have to recompile Plasma NM when libnm-qt is upgraded (like two weeks ago), have you done that?
Comment 4 Hrvoje Senjan 2012-08-04 03:07:54 UTC
OBS functions exactly in this way - if package A is changed, and package B depends on it, it also gets recompiled. So Plasma NM is surely rebuild against libnm-qt.
Tommorow i'll post diff of both Plasma-NM and libnm-qt between latest pull, and latest master.
As per versioning - i'll change that :)
Comment 5 Kai Uwe Broulik 2013-01-21 22:46:11 UTC
Created attachment 76618 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.9.98 using Qt 4.8.4

- What I was doing when the application crashed:
Turned off WiFI and turned it on again. Crashes *always*. No matter if using rfkill, or NM applet. Plasma just goes down. (This was the first time where I got a DrKonqui to provide a backtrace, in the other cases Plasma crashed and restarted without a message)

-- Backtrace (Reduced):
#6  InterfaceDetailsWidget::handleConnectionStateChange (this=0x2730bf0, new_state=NetworkManager::Device::Disconnected, old_state=<optimized out>, reason=<optimized out>) at /home/kaiuwe/Projekte/networkmanagement/applet/interfacedetailswidget.cpp:589
[...]
#8  0x00007f8ad132f2e0 in NetworkManager::Device::stateChanged (this=0x3ce92e0, _t1=NetworkManager::Device::Disconnected, _t2=NetworkManager::Device::Unavailable, _t3=NetworkManager::Device::SupplicantAvailableReason) at /home/kaiuwe/Projekte/libnm-qt/build/device.moc:223
#9  0x00007f8ad132eabb in NetworkManager::Device::deviceStateChanged (this=0x3ce92e0, new_state=30, old_state=20, reason=42) at /home/kaiuwe/Projekte/libnm-qt/device.cpp:448
#10 0x00007f8ad132ebbb in NetworkManager::Device::qt_static_metacall (_o=0x3ce92e0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff01f9ea60) at /home/kaiuwe/Projekte/libnm-qt/build/device.moc:124
[...]
#12 0x00007f8ad134b7d2 in OrgFreedesktopNetworkManagerDeviceInterface::StateChanged (this=0x34e13c8, _t1=30, _t2=20, _t3=42) at /home/kaiuwe/Projekte/libnm-qt/build/nm-deviceinterface.moc:183
Comment 6 Lamarque V. Souza 2013-01-21 23:21:52 UTC
Please, always send the version string of Plasma NM you are using.
Comment 7 Kai Uwe Broulik 2013-01-22 00:17:31 UTC
Version 0.9.1.70 (master 20130115)
Comment 8 Lamarque V. Souza 2013-01-22 01:31:10 UTC
I think the problem is reason == NetworkManager::Device::Unavailable, that means the wifi card is not available anymore and then m_iface object is invalid when Plasma NM tries to detect the interface type. I am working on a patch to use QPointer to track NetworkManager::Device objects and then fix that kind of problem once and for all. Unfortunately I have not had much free time so the patch is at early stage now. This is the same kind of problem of that causes the bugs below:

https://bugs.kde.org/show_bug.cgi?id=312635
https://bugs.kde.org/show_bug.cgi?id=312638
https://bugs.kde.org/show_bug.cgi?id=313164
https://bugs.kde.org/show_bug.cgi?id=313297

All bugs above could be marked as duplicate of this one since the source of the problem is the same although the steps to reproduce differ a lot. Anyway, I can add a workaround to do try to use the m_iface when reason == NetworkManager::Device::Unavailable. That should prevent this crash until my QPointer patch is ready.
Comment 9 Lamarque V. Souza 2013-01-22 01:35:51 UTC
Git commit 3bcb9c6d3769ba795a453b4d6d88217061ea63f6 by Lamarque V. Souza.
Committed on 22/01/2013 at 02:33.
Pushed by lvsouza into branch 'master'.

Add workaround to prevent crash.

M  +1    -1    applet/interfacedetailswidget.cpp
M  +1    -1    plasma_nm_version.h

http://commits.kde.org/networkmanagement/3bcb9c6d3769ba795a453b4d6d88217061ea63f6
Comment 10 Lamarque V. Souza 2013-01-22 01:55:22 UTC
Git commit f57fb13279d491391e61663e200cf667f4152a23 by Lamarque V. Souza.
Committed on 22/01/2013 at 02:33.
Pushed by lvsouza into branch 'nm09'.

Add workaround to prevent crash.

M  +1    -1    applet/interfacedetailswidget.cpp
M  +1    -1    plasma_nm_version.h

http://commits.kde.org/networkmanagement/f57fb13279d491391e61663e200cf667f4152a23
Comment 11 Kai Uwe Broulik 2013-03-10 18:26:28 UTC
Created attachment 77918 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.10.1 using Qt 4.8.4

- What I was doing when the application crashed:
Disabled WiFi, re-enabled Wifi, the list of found WiFi networks appeared, and then Plasma crashed. On currentmost master branch with QML interface.

-- Backtrace (Reduced):
#5  0x00007f82aa95c994 in InterfaceDetailsWidget::handleConnectionStateChange (this=0x2ef8e10, new_state=NetworkManager::Device::Disconnected, old_state=<optimized out>, reason=<optimized out>) at /home/kaiuwe/Projekte/networkmanagement/applet/interfacedetailswidget.cpp:589
[...]
#7  0x00007f82aa01a2e0 in NetworkManager::Device::stateChanged (this=<error reading variable: Could not find the frame base for "NetworkManager::Device::stateChanged(NetworkManager::Device::State, NetworkManager::Device::State, NetworkManager::Device::StateChangeReason)".>, _t1=<error reading variable: Could not find the frame base for "NetworkManager::Device::stateChanged(NetworkManager::Device::State, NetworkManager::Device::State, NetworkManager::Device::StateChangeReason)".>, _t2=<error reading variable: Could not find the frame base for "NetworkManager::Device::stateChanged(NetworkManager::Device::State, NetworkManager::Device::State, NetworkManager::Device::StateChangeReason)".>, _t3=<error reading variable: Could not find the frame base for "NetworkManager::Device::stateChanged(NetworkManager::Device::State, NetworkManager::Device::State, NetworkManager::Device::StateChangeReason)".>) at /home/kaiuwe/Projekte/libnm-qt/build/device.moc:223
#8  0x00007f82aa019abb in NetworkManager::Device::deviceStateChanged (this=<error reading variable: Could not find the frame base for "NetworkManager::Device::deviceStateChanged(unsigned int, unsigned int, unsigned int)".>, new_state=<error reading variable: Could not find the frame base for "NetworkManager::Device::deviceStateChanged(unsigned int, unsigned int, unsigned int)".>, old_state=<error reading variable: Could not find the frame base for "NetworkManager::Device::deviceStateChanged(unsigned int, unsigned int, unsigned int)".>, reason=<error reading variable: Could not find the frame base for "NetworkManager::Device::deviceStateChanged(unsigned int, unsigned int, unsigned int)".>) at /home/kaiuwe/Projekte/libnm-qt/device.cpp:448
#9  0x00007f82aa019bbb in NetworkManager::Device::qt_static_metacall (_o=<error reading variable: Could not find the frame base for "NetworkManager::Device::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)".>, _c=<error reading variable: Could not find the frame base for "NetworkManager::Device::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)".>, _id=<error reading variable: Could not find the frame base for "NetworkManager::Device::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)".>, _a=<error reading variable: Could not find the frame base for "NetworkManager::Device::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)".>) at /home/kaiuwe/Projekte/libnm-qt/build/device.moc:124
[...]
#11 0x00007f82aa0368da in OrgFreedesktopNetworkManagerDeviceInterface::StateChanged (this=<error reading variable: Could not find the frame base for "OrgFreedesktopNetworkManagerDeviceInterface::StateChanged(unsigned int, unsigned int, unsigned int)".>, _t1=<error reading variable: Could not find the frame base for "OrgFreedesktopNetworkManagerDeviceInterface::StateChanged(unsigned int, unsigned int, unsigned int)".>, _t2=<error reading variable: Could not find the frame base for "OrgFreedesktopNetworkManagerDeviceInterface::StateChanged(unsigned int, unsigned int, unsigned int)".>, _t3=<error reading variable: Could not find the frame base for "OrgFreedesktopNetworkManagerDeviceInterface::StateChanged(unsigned int, unsigned int, unsigned int)".>) at /home/kaiuwe/Projekte/libnm-qt/build/nm-deviceinterface.moc:183
Comment 12 David Faure 2013-05-27 11:19:03 UTC
I just got this crash, but when I tried to update my libnm-qt checkout, I get an error because it requires NetworkManager 0.9.8.0 and OpenSUSE-12.3 has 0.9.6.4. How can I solve this?
I didn't find a branch for 0.9.6.
Comment 13 Lamarque V. Souza 2013-05-27 12:58:41 UTC
There is no branch for 0.9.6 and other libnm-qt developers pushed some changes that require NetworkManager 0.9.8 (the current stable NetworkManager version for more than three months now). You will have to upgrade NM or stick with the older version, sorry.
Comment 14 Hrvoje Senjan 2013-06-09 01:48:06 UTC
*** Bug 320942 has been marked as a duplicate of this bug. ***
Comment 15 PinguinoGoku 2013-08-06 02:23:27 UTC
Created attachment 81577 [details]
New crash information added by DrKonqi

plasma-desktop (4.10.5) on KDE Platform 4.10.5 using Qt 4.8.4

- Unusual behavior I noticed: 
Solo pasa cuando desconecto Modem de Internet Usb marca huawei E353 4G

-- Backtrace (Reduced):
#6  0x00007f901254814e in InterfaceDetailsWidget::handleConnectionStateChange(int, int, int) () from /usr/lib/kde4/plasma_applet_networkmanagement.so
#7  0x00007f901252b44f in InterfaceDetailsWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/kde4/plasma_applet_networkmanagement.so
[...]
#9  0x00007f9011a026ea in Solid::Control::NetworkInterfaceNm09::connectionStateChanged(int, int, int) () from /usr/lib/libsolidcontrolnm09.so.4
#10 0x00007f9011a024c3 in Solid::Control::NetworkInterfaceNm09::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libsolidcontrolnm09.so.4
[...]
#12 0x00007f90110993ce in NMNetworkInterface::connectionStateChanged(int, int, int) () from /usr/lib/kde4/solid_networkmanager09.so