network-manager crash on boot on krillin/devel-proposed

Bug #1496434 reported by Jean-Baptiste Lallement
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Fix Released
Critical
Tony Espy

Bug Description

current build number: 198
device name: krillin
channel: ubuntu-touch/devel-proposed/krillin.en

network-manager:
  Installed: 1.0.4-0ubuntu3

network-manager crashes and keeps re-spawning, making the device unusable.

CVE References

Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :
Revision history for this message
John McAleely (john.mcaleely) wrote :

@awe, it seems I lack assign-fu. can you take a look at this, but not ahead of the ota-7 wifi related bugs?

Changed in network-manager (Ubuntu):
assignee: nobody → Tony Espy (awe)
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Francis Ginther (fginther) wrote :

This is currently blocking all boottesting for package promotion into wily. For reference, see the packages marked with "Boottest result: Regression" in http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html

Changed in network-manager (Ubuntu):
importance: High → Critical
Revision history for this message
Tony Espy (awe) wrote :

Confirmed on krillin ( devel-proposed #206 ). The .crash file wasn't very useful, but I should be able to diagnose fairly quick.

Revision history for this message
Tony Espy (awe) wrote :

Here's the backtrace:

#0 0x000aa24c in platform_link_added (self=self@entry=0x20bf930, ifindex=<optimized out>, plink=plink@entry=0x20cbfc8) at nm-manager.c:1956
        ignore = 0
        factory = <optimized out>
        device = <optimized out>
        error = 0x0
        __func__ = "platform_link_added"
#1 0x000ac02a in platform_query_devices (self=0x20bf930) at nm-manager.c:2070
        links_array = 0x2089420
        links = <optimized out>
        i = 3
#2 nm_manager_start (self=self@entry=0x20bf930) at nm-manager.c:4293
        priv = <optimized out>
        __func__ = "nm_manager_start"
#3 0x0003c662 in main (argc=1, argv=0xbef66e14) at main.c:500
        wifi_enabled = <optimized out>
        net_enabled = <optimized out>

Revision history for this message
Tony Espy (awe) wrote :

The code in question is this:

/* Try registered device factories */
factory = nm_device_factory_manager_find_factory_for_link_type (plink->type);
if (factory) {
    gboolean ignore = FALSE;

    device = nm_device_factory_new_link (factory, plink, &ignore, &error);
    if (!device) {
        if (!ignore) {
            nm_log_warn (LOGD_HW, "%s: factory failed to create device: %s", plink->name, error->message);
             g_clear_error (&error);
        }
        return;
    }
}

The crash is happening when error->message is accessed in the call to nm_log_warn.

Tony Espy (awe)
Changed in network-manager (Ubuntu):
status: Confirmed → Won't Fix
status: Won't Fix → In Progress
Revision history for this message
Tony Espy (awe) wrote :

No crash on mako ( devel-proposed #313 ).

Pretty sure this is being caused by a device factory failure when trying to create a NMDevice instance for 'ccmni0', which is modem device, managed by rild.

Revision history for this message
Tony Espy (awe) wrote :

NM 0.9.10.0 included an "?" ( if ) check in the log statement that's crashing. Apparently this got lost in the merge. Patch on the way...

Revision history for this message
Tony Espy (awe) wrote :

Also, testing on krillin ( devel-proposed #225 ) is super painful. Unity seems to slow to crawl while painting the Welcome screen. It take several minutes for the phone to become usable... and spends much of the time prior to this basically frozen on the lock screen.

Revision history for this message
Tony Espy (awe) wrote :

Fix should land in 1.0.4-0ubuntu4, which is currently in the unapproved queue. Hopefully should land soon.

Changed in network-manager (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

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

  [ Mathieu Trudel-Lapierre ]
  * d/p/0001-wwan-add-support-for-using-oFono-as-a-modem-manager.patch:
    Pre-initialize reason for ofono state changes to NULL; this avoids getting
    to nm_device_set_state with an invalid reason string. (LP: #1499906)
  * d/p/0001-wwan-add-support-for-using-oFono-as-a-modem-manager.patch:
    cleanup ip_string_to_network_address() to work as its NMModemBroadband
    version, and start setting NM_MODEM_IP4_METHOD to _STATIC so IP, prefix,
    gateway and DNS get properly applied on an oFono modem as it comes up.
  * debian/NetworkManager.conf: re-enable the ofono plugin (fixes a regression).
  * debian/patches/add_ofono_settings_support.patch: don't link against
    libnm-glib as this would cause type duplication and crashes. (LP: #1499904)
  * debian/patches/lp1496434_warn_on_invalid_new_link.patch: don't outright
    crash by dereferencing a NULL pointer if a device can't get created by its
    NMDeviceFactory; we should warn though, as we want to know about these
    failures; but no need to make all of NM sad. (LP: #1496434)

  [ Tony Espy ]
  * d/p/0002-wifi-cull-the-scan-list-before-signalling-ScanDone-b.patch:
    Fix duplicate 'LastSeen' PropertiesChanged signals being generated
    after every scan. The 'Last-Seen' property is now only updated when
    a scan finishes, and schedule_scanlist_cull is no longer triggered
    new_bss_cb or updated_bss_cb. (LP: #1480877)
  * d/p/add_ofono_settings_support.patch: Fix memory leaks in plugin.
  * d/p/add_ofono_settings_support.patch: Remove unused plugin DBus code.
  * d/p/CVE-2015-1322.patch: Drop CVE which applied to removed DBus code
    in ofono settings plugin.

 -- Mathieu Trudel-Lapierre <email address hidden> Sat, 26 Sep 2015 00:02:02 -0400

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.