Bug 291677 - Crash in gsm-modemmanager when entering pincode
Summary: Crash in gsm-modemmanager when entering pincode
Status: RESOLVED DOWNSTREAM
Alias: None
Product: solid
Classification: Frameworks and Libraries
Component: networkmanagement-mobile (show other bugs)
Version: unspecified
Platform: Debian unstable Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
: 293203 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-01-16 17:41 UTC by Allan Sandfeld
Modified: 2012-02-03 22:24 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Allan Sandfeld 2012-01-16 17:41:47 UTC
Application: kded4 ($Id$)
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.7.4
Operating System: Linux 3.1.0-1-amd64 x86_64
Distribution: Debian GNU/Linux unstable (sid)

-- Information about the crash:
- What I was doing when the application crashed:
Just started KDE after inserting SIM-card. After entering the pincode in the popup dialog, solid crashes. This happens on every restart of KDE with the SIM-card present in the laptop.

The crash can be reproduced every time.

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

Thread 2 (Thread 0x7f81efa8b700 (LWP 2302)):
#0  0x00007f820620c62e in __pthread_mutex_unlock_usercnt (mutex=0x885a08, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0x00007f820573e9d8 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f820573ef1d in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f8209ae9e96 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f8209abe492 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f8209abe68f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f82099d630f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f8209aa135f in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f82099d8cf5 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f8206208b50 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f820870e4ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f820aea0760 (LWP 2255)):
[KCrash Handler]
#6  0x00007f81efcbb1f7 in MMModemGsmCardInterface::sendPin(QString const&) () from /usr/lib/kde4/solid_modemmanager04.so
#7  0x00007f81f10fd33a in NetworkInterfaceMonitor::requestPin(QString const&) () from /usr/lib/libknmservice.so.4
#8  0x00007f81f10f0ca3 in NetworkInterfaceMonitor::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libknmservice.so.4
#9  0x00007f8209ad1eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#10 0x00007f81f06070b5 in Solid::Control::ModemInterface::unlockRequiredChanged(QString const&) () from /usr/lib/libsolidcontrol.so.4abi1
#11 0x00007f81f0607251 in Solid::Control::ModemInterface::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libsolidcontrol.so.4abi1
#12 0x00007f81f05f5390 in Solid::Control::ModemGsmCardInterface::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libsolidcontrol.so.4abi1
#13 0x00007f8209ad5a6a in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#14 0x00007f8208e90c64 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#15 0x00007f8208e95af1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#16 0x00007f820a87fae6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#17 0x00007f8209abf28c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#18 0x00007f8209ac2648 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#19 0x00007f8209ae99d3 in ?? () from /usr/lib/libQtCore.so.4
#20 0x00007f820573e4a3 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#21 0x00007f820573ec80 in ?? () from /lib/libglib-2.0.so.0
#22 0x00007f820573ef1d in g_main_context_iteration () from /lib/libglib-2.0.so.0
#23 0x00007f8209ae9e2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#24 0x00007f8208f34eee in ?? () from /usr/lib/libQtGui.so.4
#25 0x00007f8209abe492 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#26 0x00007f8209abe68f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#27 0x00007f8209ac2837 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#28 0x00007f81f86e03b5 in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_kded4.so
#29 0x0000000000408b82 in _start ()

Reported using DrKonqi
Comment 1 Lamarque V. Souza 2012-01-17 12:37:55 UTC
I think you hit this bug https://bugs.kde.org/show_bug.cgi?id=279649 , read comment #9

I cannot reproduce this bug here.
Comment 2 Allan Sandfeld 2012-01-17 12:48:51 UTC
Acknowledged. I am using Debian packages on this machine Kde-workspace 4.7.4-1 and plasma-widget-networkmanagement 0.9~git20111126.1ef1677-1, but the plasma-widget-networkmanagement package only depend on kde 4.6 libraries.
Comment 3 Allan Sandfeld 2012-01-17 12:50:23 UTC
But where is the ABI change? If it is in the runtime API, should it really crash then?
Comment 4 Lamarque V. Souza 2012-01-17 13:15:05 UTC
The changes are in Solid's ModemManager backend (kde-workspace package). It is a ABI *and* API change. The changes is source compatible but not binary compatible. The same Plasma NM binary cannot run on both kde-workspace 4.6.x and 4.7.x, you have to recompile Plasma NM against each kde-workspace version.
Comment 5 Lamarque V. Souza 2012-01-21 23:24:35 UTC
Can you recompile Plasma NM against the kde-workspace you plan to run it with and test if that solves your problem?
Comment 6 Allan Sandfeld 2012-01-21 23:28:27 UTC
Even if it does work around the problem for me, it does not in any way solve the underlying problem, please see the corresponding bug for Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656197
Comment 7 Lamarque V. Souza 2012-01-21 23:41:50 UTC
The fact is that the change is there for almost a year and I am not going to revert it. The change was added to fix the PIN handling for 3G modems, without this change there is chance the user locks in the sim card. This bug is minor problem compared to that.
Comment 8 Allan Sandfeld 2012-01-22 00:57:43 UTC
Okay, that sounds good. Can I get you to explain that to the distro guys? Because it makes it their bug, and it is important they set the correct conflicts.
Comment 9 Allan Sandfeld 2012-01-22 01:07:08 UTC
Btw. Recompiling the debian package with a newer kdebase-dev packages solved the problem. Replying through mobile broadband ;)

One other suggestion though: Maybe it should have been possible to hide the popup asking for pin on every reboot, and only show it next time the user tries to enable mobile broandband in the plasma widget?
Comment 10 Lamarque V. Souza 2012-01-22 01:14:34 UTC
Open a bug report in your distro's bug tracking system and make it point to
this bug entry. I do not have an account in every distro's bug tracking system,
I cannot to that alone.

I am starting to think it is a good idea to make CMakeLists.txt refuse to
compile against KDE SC < 4.7.0 (including 4.7.0 release candidates). That would
also solve the problem.

It's not possible to enable a modem when it is locked by the PIN. The "Enable Mobile Broadband" would fail, that is why we ask for the PIN as soon as possible.
Comment 11 Allan Sandfeld 2012-01-22 10:38:40 UTC
I have already opened a bug and have provided links in both directions, see: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656197

My point was more something like the configure check or information with the source so the packagers find this important information.
Comment 12 Lamarque V. Souza 2012-01-22 15:31:50 UTC
A cmake check is not possible since the problem happens in runtime, not in compilation time. I do not think a runtime check is also possible. I do can check the kdelibs version (I do not know if I can check the kde-workspace version), but after that the best I can do is disabling the modem to prevent the crash. I cannot make PIN unlock work with a non-suitable kde-workspace.
Comment 13 Lamarque V. Souza 2012-02-03 22:24:21 UTC
*** Bug 293203 has been marked as a duplicate of this bug. ***