[wily-proposed only] NetworkManager crashed with SIGSEGV in ofono_enumerate_devices_done()

Bug #1492126 reported by Martin Pitt on 2015-09-04
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Medium
Mathieu Trudel-Lapierre

Bug Description

This can be trivially reproduced by installing the wily-proposed network-manager on i386 and rebooting. This is also spotted by systemd's autopkgtest (http://autopkgtest.ubuntu.com/packages/s/systemd/wily/i386/).

In the journal I see

Sep 04 08:32:15 autopkgtest NetworkManager[718]: (NetworkManager:718): GLib-GObject-WARNING **: /build/glib2.0-M4BESt/glib2.0-2.45.6/./gobject/gsignal.c:2506: signal 'ModemAdded' is invalid for instance '0x997d760' of type 'GDBusProxy'
Sep 04 08:32:15 autopkgtest NetworkManager[718]: (NetworkManager:718): GLib-GObject-WARNING **: /build/glib2.0-M4BESt/glib2.0-2.45.6/./gobject/gsignal.c:2506: signal 'ModemRemoved' is invalid for instance '0x997d760' of type 'GDBusProxy'
Sep 04 08:32:15 autopkgtest NetworkManager[718]: (NetworkManager:718): GLib-CRITICAL **: g_variant_get_va: assertion 'value != NULL' failed
Sep 04 08:32:15 autopkgtest systemd[1]: NetworkManager.service: Main process exited, code=dumped, status=11/SEGV

I suppose the g_critical is not the thing it fails on, as that would be a SIGABRT.

ProblemType: Crash
DistroRelease: Ubuntu 15.10
Package: network-manager 1.0.4-0ubuntu2
ProcVersionSignature: Ubuntu 4.2.0-7.7-generic 4.2.0
Uname: Linux 4.2.0-7-generic i686
ApportVersion: 2.18-0ubuntu9
Architecture: i386
Date: Fri Sep 4 08:40:19 2015
ExecutablePath: /usr/sbin/NetworkManager
ExecutableTimestamp: 1440792479
IpRoute:
 default via 10.0.2.2 dev eth0
 10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig'
NetworkManager.state:
 [main]
 NetworkingEnabled=true
 WirelessEnabled=true
 WWANEnabled=true
 WimaxEnabled=true
ProcCmdline: /usr/sbin/NetworkManager --no-daemon
ProcCwd: /
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
SegvAnalysis:
 Segfault happened at: 0xb701f259 <g_variant_iter_loop+25>: mov 0xc(%esi),%edi
 PC (0xb701f259) ok
 source "0xc(%esi)" (0x0000000c) not located in a known VMA region (needed readable region)!
 destination "%edi" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: network-manager
StacktraceTop:
 g_variant_iter_loop () from /lib/i386-linux-gnu/libglib-2.0.so.0
 ?? () from /usr/lib/i386-linux-gnu/NetworkManager/libnm-wwan.so
 ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
 ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
 ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
Title: NetworkManager crashed with SIGSEGV in g_variant_iter_loop()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

nmcli-con: Error: command ['nmcli', '-f', 'all', 'con'] failed with exit code 8: Error: NetworkManager is not running.
nmcli-dev: Error: command ['nmcli', '-f', 'all', 'dev'] failed with exit code 8: Error: NetworkManager is not running.
nmcli-nm: Error: command ['nmcli', '-f', 'all', 'nm'] failed with exit code 2: Error: Object 'nm' is unknown, try 'nmcli help'.

Martin Pitt (pitti) wrote :
information type: Private → Public
tags: added: block-proposed
Changed in network-manager (Ubuntu):
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
summary: - NetworkManager crashed with SIGSEGV in g_variant_iter_loop()
+ [wily-proposed only] NetworkManager crashed with SIGSEGV in
+ g_variant_iter_loop()
Changed in network-manager (Ubuntu):
importance: Undecided → Medium

Importance medium as this only affects wily-proposed, and failing tests kept this from promoting. But I added block-proposed anyway as you were disabling most NM autopkgtests.

StacktraceTop:
 g_variant_iter_loop (iter=0x0, format_string=0xb424daba "(&oa{sv})") at /build/glib2.0-M4BESt/glib2.0-2.45.6/./glib/gvariant.c:5616
 ofono_enumerate_devices_done (proxy=0x8c91760, res=0x8cbf810, user_data=0x8caa708) at nm-modem-manager.c:329
 g_task_return_now (task=task@entry=0x8cbf810) at /build/glib2.0-M4BESt/glib2.0-2.45.6/./gio/gtask.c:1104
 g_task_return (task=0x8cbf810, type=<optimized out>) at /build/glib2.0-M4BESt/glib2.0-2.45.6/./gio/gtask.c:1162
 reply_cb (connection=0x8c9c818, res=0x8cbf888, user_data=0x8cbf810) at /build/glib2.0-M4BESt/glib2.0-2.45.6/./gio/gdbusproxy.c:2569

tags: removed: need-i386-retrace
Martin Pitt (pitti) wrote :

Adjusting bug title to make this more obvious. Apparently ofono_enumerate_devices_done() calls g_variant_iter_loop() on a NULL iterator.

summary: [wily-proposed only] NetworkManager crashed with SIGSEGV in
- g_variant_iter_loop()
+ ofono_enumerate_devices_done()
dino99 (9d9) wrote :

also a show stopper:
 not all the network-manager packages have been upgraded to 1.0.4-0ubuntu2, some are still 0.9.10

reported as lp:1489154

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in network-manager (Ubuntu):
status: New → Confirmed
dino99 (9d9) wrote :

Also from journalctl on Wily with nm 0.9.10:

 NetworkManager[806]: <warn> SCPlugin-Ofono: file doesn't exist: /var/lib/ofono

ofono is not installed on that desktop which does not need it anyway

dino99, this is unrelated. Packages won't half-migrate from proposed unless one actually enables the proposed repository on their system and manually picks packages to install... This would explicitly be a very Bad thing to do, and strongly discouraged.

In Progress -- I'm looking at that crash right now.

Changed in network-manager (Ubuntu):
status: Confirmed → In Progress
Martin Pitt (pitti) wrote :

The crash got fixed, thanks Mathieu! Removing block-proposed tag.

tags: removed: block-proposed
Changed in network-manager (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package network-manager - 1.0.4-0ubuntu3

---------------
network-manager (1.0.4-0ubuntu3) wily; urgency=medium

  * New upstream NM release post-feature-freeze. (LP: #1493934)
    (previous revisions never transitioned from proposed)

  [ Martin Pitt ]
  * debian/tests/nm: Revert the previous disabling of tests, they are all
    conceptually still valid.
  * debian/tests/nm: Reduce timeouts to something reasonable; waiting 3
    minutes for detecing an AP should not count as "success", and it takes too
    long for tests to fail.
  * debian/tests/nm: Fix ColdplugWifi.test_no_ap: with 1.0 the state is now
    "UNAVAILABLE" instead of "DISCONNECTED"; so check for either.

  [ Mathieu Trudel-Lapierre ]
  * debian/patches/git_config_parse_cmdline_args_8a22a981.patch: don't shadow
    the config_cli parameter for early config with a local copy. (LP: #1492168)
  * d/p/0001-wwan-add-support-for-using-oFono-as-a-modem-manager.patch: fix
    signal handling for oFono using GDBus; it's a little simpler now, watching
    for signals in general and matching only ModemAdded/ModemRemoved. Inspired
    from urfkill code. (LP: #1492126)
  * debian/patches/git_fix_duplicate_unittest_names_7b70a840.patch: replace
    duplicate unit test names, which is a new restriction set by GLib.

 -- Mathieu Trudel-Lapierre <email address hidden> Thu, 10 Sep 2015 14:53:16 -0400

Changed in network-manager (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers