After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 372840 - Deadlock in NetworkManager after resume
Deadlock in NetworkManager after resume
Status: RESOLVED INCOMPLETE
Product: NetworkManager
Classification: Platform
Component: general
0.6.6
Other All
: Normal critical
: ---
Assigned To: Dan Williams
Dan Williams
Depends on:
Blocks:
 
 
Reported: 2006-11-09 08:12 UTC by Florian Hackenberger
Modified: 2008-11-05 16:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Florian Hackenberger 2006-11-09 08:12:59 UTC
Steps to reproduce:
1. Suspend the machine while knetworkmanager is connected
2. Resume the laptop
3. Be lucky to cause the deadlock


Stack trace:
hacki@hacki-mobile:~/webots/plugins/physics/save_restore$ sudo gdb
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
warning: not using untrusted file "/home/hacki/.gdbinit"

(gdb) attach 14597
Attaching to process 14597
Reading symbols from /usr/sbin/NetworkManager...(no debugging symbols found)...done.
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
Reading symbols from /usr/lib/libhal.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libhal.so.1
Reading symbols from /lib/libiw.so.28...(no debugging symbols found)...done.
Loaded symbols for /lib/libiw.so.28
Reading symbols from /usr/lib/libnl.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libnl.so.1
Reading symbols from /usr/lib/libgthread-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgthread-2.0.so.0
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...
(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
[New Thread -1211832016 (LWP 14597)]
[New Thread -1211835488 (LWP 20135)]
[New Thread -1228620896 (LWP 958)]
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /usr/lib/libnm-util.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libnm-util.so.0
Reading symbols from /usr/lib/libdbus-glib-1.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdbus-glib-1.so.2
Reading symbols from /usr/lib/libdbus-1.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libdbus-1.so.3
Reading symbols from /usr/lib/libglib-2.0.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /lib/tls/i686/cmov/librt.so.1...
(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/librt.so.1
Reading symbols from /usr/lib/libgcrypt.so.11...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgcrypt.so.11
Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1
Reading symbols from /usr/lib/libgpg-error.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgpg-error.so.0
Reading symbols from /lib/tls/i686/cmov/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /usr/lib/libgobject-2.0.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /lib/tls/i686/cmov/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
(no debugging symbols found)
0xffffe410 in __kernel_vsyscall ()
(gdb) back

Thread NaN (LWP 14597)

  • #0 __kernel_vsyscall
  • #1 __nanosleep_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 g_usleep
    from /usr/lib/libglib-2.0.so.0
  • #3 nm_completion_boolean_test
  • #4 nm_device_activation_cancel
  • #5 nm_device_deactivate_quickly
  • #6 nm_device_deactivate
  • #7 nm_device_stop
  • #8 nm_remove_device
  • #9 nm_remove_device
  • #10 libhal_ctx_shutdown
    from /usr/lib/libhal.so.1
  • #11 dbus_connection_dispatch
    from /usr/lib/libdbus-1.so.3
  • #12 dbus_server_setup_with_g_main
    from /usr/lib/libdbus-glib-1.so.2
  • #13 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #15 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #16 main
  • #0 g_source_get_current_time
    from /usr/lib/libglib-2.0.so.0
  • #1 g_source_get_current_time
    from /usr/lib/libglib-2.0.so.0
  • #2 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #3 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #4 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #5 nm_get_device_by_udi
  • #6 g_thread_create_full
    from /usr/lib/libglib-2.0.so.0
  • #7 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #8 clone
    from /lib/tls/i686/cmov/libc.so.6
  • #0 __kernel_vsyscall
  • #1 __read_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 g_main_context_wakeup
    from /usr/lib/libglib-2.0.so.0
  • #3 g_thread_create_full
    from /usr/lib/libglib-2.0.so.0
  • #4 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 clone
    from /lib/tls/i686/cmov/libc.so.6
The program is running.  Quit anyway (and detach it)? (y or n) y
Detaching from program: /usr/sbin/NetworkManager, process 14597
hacki@hacki-mobile:~/webots/plugins/physics/save_restore$    

Other information:
NetworkManagerDispatcher ist still running fine. It's not easy to reproduce, as it only happens once in a while. Killing the NetworkManager deamon (SIG 9) and restarting it fixes the problem (of course).
Comment 1 Florian Hackenberger 2006-11-09 08:13:48 UTC
The exact version of networm-manager is: 0.6.3-2ubuntu6
Comment 2 Dan Williams 2006-11-12 13:45:58 UTC
If you get this again, please do:

(gdb) t a a bt


(which is "thread apply all backtrace") to get a backtrace of all threads, not just the main one.

thanks!
Comment 3 Florian Hackenberger 2006-11-12 14:02:58 UTC
Thanks for the tip! But concerning the bug, please look at the gdb output again, as I have included backtraces of all threads (3). Have I missed something?
Comment 4 Dan Williams 2006-11-13 20:30:24 UTC
Ah yes, I see that now, sorry.  Any way you could install debuginfo for the NetowrkManager package and try to trigger it again?
Comment 5 Florian Hackenberger 2006-11-16 07:47:20 UTC
Ubuntu/Debian does not provide debug info for the NetworkManager package. But maybe you could ask the maintainer (https://launchpad.net/people/giskard or email: giskard@autistici.org) to provide you debug symbols for the binary and just do addr2line for the backtrace I posted here?
Comment 6 peter 2007-04-02 00:39:29 UTC
(In reply to comment #4)
> Ah yes, I see that now, sorry.  Any way you could install debuginfo for the
> NetowrkManager package and try to trigger it again?
> 

Dear Dan,
  I have the same problem it would seem. I am using openSUSE 10.2 on an IBM T30 Thinkpad, NetworkManager ver 0.6.4-51. This happens somewhat infrequently, about once a week for me. I tried to count suspend/resume cycles but lost count. Is this still active and if so may I contribute whatever information you require? I looked for the debug package you mentioned but did not find one for the version I have. Please advise.

Best Regards,

Peter
Comment 7 Dan Williams 2008-11-05 16:10:47 UTC
Likely fixed by 0.7 and 0.6.6; please re-open if you can reproduce the issue with debugging symbols installed so we can try to track the issue down.  Thanks!