Package: python3-networkmanager
Version: 2.1-2
Severity: serious
Justification: Incompatibility with bullseye NM causes crashes enumerating 
devices etc.

Dear Maintainer,

I'm experiencing python3-networkmanager crashing with a simple test
program like this:

$ cat /tmp/test.py
#!/usr/bin/python3

import NetworkManager

for dev in NetworkManager.NetworkManager.Devices:
    if dev.DeviceType == NetworkManager.NM_DEVICE_TYPE_WIFI:
        print(dev)

print("Program finished")
$ python3 /tmp/test.py
Traceback (most recent call last):
  File "/tmp/test.py", line 6, in <module>
    for dev in NetworkManager.NetworkManager.Devices:
  File "/usr/lib/python3/dist-packages/NetworkManager.py", line 174, in get_func
    return fixups.to_python(klass, 'Get', name, data, attrib['type'])
  File "/usr/lib/python3/dist-packages/NetworkManager.py", line 555, in 
to_python
    val = fixups.base_to_python(val)
  File "/usr/lib/python3/dist-packages/NetworkManager.py", line 612, in 
base_to_python
    return [fixups.base_to_python(x) for x in val]
  File "/usr/lib/python3/dist-packages/NetworkManager.py", line 612, in 
<listcomp>
    return [fixups.base_to_python(x) for x in val]
  File "/usr/lib/python3/dist-packages/NetworkManager.py", line 625, in 
base_to_python
    return globals()[classname](val)
  File "/usr/lib/python3/dist-packages/NetworkManager.py", line 353, in __new__
    klass = device_class(obj.Get('org.freedesktop.NetworkManager.Device', 
'DeviceType', dbus_interface='org.freedesktop.DBus.Properties'))
  File "/usr/lib/python3/dist-packages/NetworkManager.py", line 373, in 
device_class
    return {
KeyError: dbus.UInt32(30, variant_level=1)


The reason appears to be that NM in bullseye supports and returns a
(disconnected=30) wifi p2p interface on my device.

Here's some info from the affected system:

$ nmcli d
DEVICE         TYPE      STATE         CONNECTION
wlan0          wifi      connected     FOOBAR
p2p-dev-wlan0  wifi-p2p  disconnected  --
lo             loopback  unmanaged     --


The mere existance of p2p-dev-wlan0 causes the crash and the needed constant
values in python3-networkmanager was added in new upstream release 2.2.

FWIW the problem is also reproducible on a buster system with a partial
update to NM (and deps) from bullseye. The p2p feature is thus not a new
kernel feature or similar, simply new info exposed by NM.

As mentioned, this is fixed in upstream release 2.2.
I've also filed a pre-approval request to update to 2.2 during freeze,
see Bug#984925

Regards,
Andreas Henriksson

_______________________________________________
Python-modules-team mailing list
Python-modules-team@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/python-modules-team

Reply via email to