Bug 1440089 - [NMCI] [abrt] [faf] NetworkManager: unknown function(): /usr/sbin/NetworkManager killed by 6
Summary: [NMCI] [abrt] [faf] NetworkManager: unknown function(): /usr/sbin/NetworkMana...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: NetworkManager
Version: 7.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Thomas Haller
QA Contact: Desktop QE
URL: http://faf.lab.eng.brq.redhat.com/faf...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-04-07 09:31 UTC by Vladimir Benes
Modified: 2017-08-01 09:27 UTC (History)
7 users (show)

Fixed In Version: NetworkManager-1.8.0-0.4.rc3.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-01 09:27:08 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:2299 normal SHIPPED_LIVE Moderate: NetworkManager and libnl3 security, bug fix and enhancement update 2017-08-01 12:40:28 UTC

Description Vladimir Benes 2017-04-07 09:31:58 UTC
This bug has been created based on an anonymous crash report requested by the package maintainer.

Report URL: http://faf.lab.eng.brq.redhat.com/faf/reports/bthash/a9e753ef2ca0c30fb9148f56e4654cff1cdf60ce/

Comment 1 Thomas Haller 2017-04-18 11:08:25 UTC
the issue is, that NMDefaultRouteManager has a reference to a NMDeviceMacvlan.
Upon exit of the program, the NMDefaultRouteManager is destroyed, which then triggers a destroy of the NMDeviceMacvlan instance.

The issue then is that NMDevice:dispose then accesses nm_route_manger_get(), which is already destroyed at the point.

See th/netns-singleton-rh1440089, which causes the device to have a (indirect) reference to NMDefaultRouteManager and NMRouteManager. This keeps those instances alive and prevents the crash.

Note that we already have a leak during shutdown, in that we don't properly disconnect devices -- resulting in most singleton instances to leak. That eventually should be fixed. The branch only makes NMDefaultRouteManager and NMRouteManager leak too. But first we have to propertly track + extend the lifetime (to avoid the crash), later we shall see how to order shutdown to free all instances.

Also, the branch also removes some uses of singleton instances (which are difficult to coordinate during shutdown).

Comment 2 Beniamino Galvani 2017-04-18 12:46:37 UTC
> device: keep NMNetns instance per device

+ if (!nm_ip4_config_commit (existing, NM_PLATFORM_GET, route_manager_get(), ...

Nitpick: missing space before ().

The rest looks good.

Comment 3 Thomas Haller 2017-04-18 14:01:34 UTC
merged upstream:

master: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=a31ddcfca5abf13d5a6522615d2411692167eadf

nm-1-8: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=6d3ce7557e0c3046e0cd05b833caeceacd436042




(as said, this does not fix the leaks on shutdown. That would be a larger effort).

Comment 5 errata-xmlrpc 2017-08-01 09:27:08 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2017:2299


Note You need to log in before you can comment on or make changes to this bug.