Comment 6 for bug 2033259

Revision history for this message
Lukas Märdian (slyon) wrote :

Unsing a Jammy system and installing libnetplan1 from Noble leads to this issue. When network-manager is installed in that context, it also triggers the crash:

root@jj-nn-np-nm-crash:~# dpkg -l | grep netplan
ii libnetplan0:amd64 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction runtime library
ii libnetplan1:amd64 1.0.1-1ubuntu2~24.04.1 amd64 Declarative network configuration runtime library
ii netplan.io 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction for various backends

root@jj-nn-np-nm-crash:~# netplan generate
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 20, in <module>
    from netplan import Netplan
  File "/usr/share/netplan/netplan/__init__.py", line 18, in <module>
    from netplan.cli.core import Netplan
  File "/usr/share/netplan/netplan/cli/core.py", line 24, in <module>
    import netplan.cli.utils as utils
  File "/usr/share/netplan/netplan/cli/utils.py", line 27, in <module>
    import netplan.libnetplan as np
  File "/usr/share/netplan/netplan/libnetplan.py", line 54, in <module>
    lib.netplan_get_id_from_nm_filename.restype = ctypes.c_char_p
  File "/usr/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /lib/x86_64-linux-gnu/libnetplan.so.1: undefined symbol: netplan_get_id_from_nm_filename

root@jj-nn-np-nm-crash:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy

root@jj-nn-np-nm-crash:~# ll /var/crash/_usr_share_netplan_netplan.script.0.crash
-rw-r----- 1 root root 31274 Sep 12 14:37 /var/crash/_usr_share_netplan_netplan.script.0.crash

The installation of "network-manager" succeeds, but the crash can then be observed.

root@jj-nn-np-nm-crash:~# apt install network-manager
[...]
root@jj-nn-np-nm-crash:~# systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-09-12 14:38:17 UTC; 1min 50s ago
       Docs: man:NetworkManager(8)
   Main PID: 4993 (NetworkManager)
      Tasks: 4 (limit: 28393)
     Memory: 3.0M
        CPU: 444ms
     CGroup: /system.slice/NetworkManager.service
             └─4993 /usr/sbin/NetworkManager --no-daemon

Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: lib.netplan_get_id_from_nm_filename.restype = ctypes.c_char_p
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: File "/usr/lib/python3.12/ctypes/__init__.py", line 392, in __getattr__
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: func = self.__getitem__(name)
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: ^^^^^^^^^^^^^^^^^^^^^^
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: File "/usr/lib/python3.12/ctypes/__init__.py", line 397, in __getitem__
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: func = self._FuncPtr((name_or_ordinal, self))
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: AttributeError: /lib/x86_64-linux-gnu/libnetplan.so.1: undefined symbol: netplan_get_id_from_nm_filename
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[4993]: <info> [1726151897.7165] audit: op="connections-reload" pid=5011 uid=0 result="success"

After the "netplan.io" package is upgraded as well, the crash doesn't happen anymore in network-manager, no otherwise.

root@jj-nn-np-nm-crash:~# apt install netplan.io
[...]
root@jj-nn-np-nm-crash:~# netplan generate
root@jj-nn-np-nm-crash:~# echo $?
0
root@jj-nn-np-nm-crash:~# systemctl restart NetworkManager
root@jj-nn-np-nm-crash:~# systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-09-12 14:44:51 UTC; 1s ago
       Docs: man:NetworkManager(8)
   Main PID: 6451 (NetworkManager)
      Tasks: 5 (limit: 28393)
     Memory: 2.9M
        CPU: 284ms
     CGroup: /system.slice/NetworkManager.service
             └─6451 /usr/sbin/NetworkManager --no-daemon

Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.2752] ifupdown: management mode: unmanaged
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.2752] ifupdown: interfaces file /etc/network/interfaces doesn't exist
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.6431] dhcp: init: Using DHCP client 'internal'
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.6433] manager: (lo): new Loopback device (/org/freedesktop/NetworkManager/Devices/1)
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.6442] device (eth0): carrier: link connected
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.6445] manager: (eth0): new Veth device (/org/freedesktop/NetworkManager/Devices/2)
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.6451] failed to open /run/network/ifstate
Sep 12 14:44:51 jj-nn-np-nm-crash systemd[1]: Started Network Manager.
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.6457] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Sep 12 14:44:51 jj-nn-np-nm-crash NetworkManager[6451]: <info> [1726152291.6470] manager: startup complete