package network-manager 1.44.2-1ubuntu1 failed to install/upgrade: installed network-manager package post-installation script subprocess returned error exit status 10

Bug #2039503 reported by Steve Langasek
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Fix Released
Critical
Unassigned
Mantic
Fix Released
Critical
Unassigned

Bug Description

[ Impact ]

 * A failure to query nmcli will fail the network-manager.postinst maintainer script (using "set -e")

 * This will make the package installation/upgrade fail

 * The fix catches the error on "ORIG_NAME=$(nmcli --get-values connection.id con show "$UUID")" and skips the corresponding keyfile with a warning message

[ Test Plan ]

$ sudo vim /etc/NetworkManager/system-connections/UPTOWN.guests # bad file
[connection]
id=UPTOWN.guests
uuid=491fa5c8-68ef-4140-8679-dca422f5c262
type=wifi

[wifi]
ssid=UPTOWN.guests
mode=infrastructure
mac-address=E0:9D:31:09:84:54

[ipv6]
method=auto

[ipv4]
method=auto

$ sudo vim /etc/NetworkManager/system-connections/aaaUPTOWN # good file
[connection]
id=aaaUPTOWN
uuid=491fa5c8-68ef-0000-1111-dca422f5c262
type=wifi

[wifi]
ssid=aaaUPTOWN
mode=infrastructure
mac-address=E0:9D:31:09:84:54

[ipv6]
method=auto

[ipv4]
method=auto

$ sudo chmod 600 /etc/NetworkManager/system-connections/*UPTOWN*
$ sudo nmcli con reload
$ ls -la /etc/NetworkManager/system-connections/
total 32
drwxr-xr-x 2 root root 12288 Oct 17 17:51 ./
drwxr-xr-x 7 root root 12288 Oct 17 17:46 ../
-rw------- 1 root root 199 Oct 17 17:05 UPTOWN.guests
-rw------- 1 root root 191 Oct 17 17:46 aaaUPTOWN

# Install network-manager from proposed
$ apt update && apt install -t mantic-proposed network-manager # version 1.44.2-1ubuntu1.1

# Verify you don't see an error like this, breaking the pkg install
Error: 491fa5c8-68ef-4140-8679-dca422f5c262 - no such connection profile.
dpkg: error processing package network-manager (--configure):
 installed network-manager package post-installation script subprocess returned error exit status 10

# Verify you see a migration log like this and the package installation is successful:
Error: 491fa5c8-68ef-4140-8679-dca422f5c262 - no such connection profile.
SKIP: UPTOWN.guests (491fa5c8-68ef-4140-8679-dca422f5c262) unknown to NetworkManager.
Migrating aaaUPTOWN (491fa5c8-68ef-0000-1111-dca422f5c262) to /etc/netplan
$ echo $?
0

# Verify the good profile got migrated, while the bad one remains:
$ sudo grep -RH UPTOWN /etc/netplan/
/etc/netplan/90-NM-491fa5c8-68ef-0000-1111-dca422f5c262.yaml: "aaaUPTOWN":
/etc/netplan/90-NM-491fa5c8-68ef-0000-1111-dca422f5c262.yaml: name: "aaaUPTOWN"
/etc/netplan/90-NM-491fa5c8-68ef-0000-1111-dca422f5c262.yaml: name: "aaaUPTOWN"
$ ls -la /etc/NetworkManager/system-connections/
insgesamt 28
drwxr-xr-x 2 root root 12288 Okt 17 18:03 .
drwxr-xr-x 7 root root 12288 Okt 17 17:46 ..
-rw------- 1 root root 199 Okt 17 17:05 UPTOWN.guests

[ Where problems could occur ]

 * This is touching NetworkManager's maintainer script
 * Breaking it could lead to a broken/unconfigured NetworkManager package
 * This could render a machine's networking unusable
 * It could break distribution upgrades on package install/configure failure

[ Other Info ]

 * Linting was used to validate the maintainer script:
   shellcheck --shell=sh debian/network-manager.postinst

=== original bug description ===

lunar to mantic upgrade, exciting to see output from network-manager postinst migrating connections to /etc/netplan one by one. But then:

Error: 491fa5c8-68ef-4140-8679-dca422f5c262 - no such connection profile.
dpkg: error processing package network-manager (--configure):
 installed network-manager package post-installation script subprocess returned error exit status 10

That UUID appears in a file /etc/NetworkManager/system-connections/UPTOWN.guests that hasn't been touched since 2015.

Contents of the file were:

[connection]
id=UPTOWN.guests
uuid=491fa5c8-68ef-4140-8679-dca422f5c262
type=wifi

[wifi]
ssid=UPTOWN.guests
mode=infrastructure
mac-address=E0:9D:31:09:84:54

[ipv6]
method=auto

[ipv4]
method=auto

I've removed it from disk and the migration continued to completion.

Then I got another failure on:

[connection]
id=belkin.1e4.guests
uuid=2c77e512-f3e3-4238-b401-c94559cc6db0
type=802-11-wireless

[802-11-wireless]
ssid=belkin.1e4.guests
mode=infrastructure
mac-address=00:24:D7:1F:EA:20

[ipv6]
method=auto

[ipv4]
method=auto

Is it unhappy because of the . in the names?

ProblemType: Package
DistroRelease: Ubuntu 23.10
Package: network-manager 1.44.2-1ubuntu1
ProcVersionSignature: Ubuntu 6.2.0-34.34-generic 6.2.16
Uname: Linux 6.2.0-34-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.27.0-0ubuntu5
Architecture: amd64
CasperMD5CheckResult: unknown
Date: Mon Oct 16 16:12:43 2023
ErrorMessage: installed network-manager package post-installation script subprocess returned error exit status 10
InstallationDate: Installed on 2019-12-23 (1393 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
NetworkManager.state:
 [main]
 NetworkingEnabled=true
 WirelessEnabled=true
 WWANEnabled=true
Python3Details: /usr/bin/python3.11, Python 3.11.6, python3-minimal, 3.11.4-5
PythonDetails: N/A
RebootRequiredPkgs: Error: path contained symlinks.
RelatedPackageVersions:
 dpkg 1.22.0ubuntu1
 apt 2.7.3
SourcePackage: network-manager
Title: package network-manager 1.44.2-1ubuntu1 failed to install/upgrade: installed network-manager package post-installation script subprocess returned error exit status 10
UpgradeStatus: Upgraded to mantic on 2023-10-16 (0 days ago)
nmcli-nm:
 RUNNING VERSION STATE STARTUP CONNECTIVITY NETWORKING WIFI-HW WIFI WWAN-HW WWAN
 running 1.44.2 connected started full enabled enabled enabled missing enabled

Related branches

Revision history for this message
Steve Langasek (vorlon) wrote :
Changed in network-manager (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Steve Langasek (vorlon) wrote :

other connections also had . in the name and had no problem migrating.

tags: added: foundations-todo
Revision history for this message
Lukas Märdian (slyon) wrote :

Thank you for providing the keyfiles as a reproducer!

I think this line in the migration script [1] is failing here. We need to catch and handle the error.
> ORIG_NAME=$(nmcli --get-values connection.id con show "$UUID")

The issue is, that this connection profile is apparently very old and doesn't get loaded into memory by modern NetworkManager anymore, therefor we cannot query NM about it. When trying to load it manually, I can see the following error in the journal:

$ nmcli con load UPTOWN.guests
$ journalctl -u NetworkManager -e
NetworkManager[126986]: <warn> [1697527301.3708] settings: load: failure to load "/etc/NetworkManager/system-connections/UPTOWN.guests": filename is not valid for a keyfile

[1] https://git.launchpad.net/network-manager/tree/debian/network-manager.postinst#n67

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

I created a patch which should fix the issue: https://code.launchpad.net/~slyon/network-manager/+git/network-manager/+merge/453731

This also needs SRU

Revision history for this message
Danilo Egea Gondolfo (danilogondolfo) wrote :

Is the only problem the filename extension? Renaming it to UPTOWN.guests.nmconnection makes it loadable.

Should we still try to load these files by renaming them first? Or, should we iterate over the *.nmconnection files only instead of *?

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

NM can load keyfiles without any suffix, AFAIR. With my proposed patch it would migrate any keyfiles that are actually loaded by NM, skipping the other. We should not try to make it load (re-activate) old keyfiles, which NM isn't loading anymore itself, by renaming them.

Revision history for this message
Danilo Egea Gondolfo (danilogondolfo) wrote :

hm Ok, in this case, the problem was the suffix actually:

root@mantic:/etc/NetworkManager/system-connections# nmcli con load /etc/NetworkManager/system-connections/UPTOWN.guests
Could not load file '/etc/NetworkManager/system-connections/UPTOWN.guests'
root@mantic:/etc/NetworkManager/system-connections# mv /etc/NetworkManager/system-connections/UPTOWN.guests /etc/NetworkManager/system-connections/UPTOWN
root@mantic:/etc/NetworkManager/system-connections# nmcli con load /etc/NetworkManager/system-connections/UPTOWN
root@mantic:/etc/NetworkManager/system-connections# nmcli con show
NAME UUID TYPE DEVICE
netplan-enp5s0 e1419a5e-5e1d-3fff-a17c-b2fc6d2cef99 ethernet enp5s0
lo e71fd408-7b42-49a1-af17-072edc915266 loopback lo
UPTOWN.guests 491fa5c8-68ef-4140-8679-dca422f5c262 wifi --
root@mantic:/etc/NetworkManager/system-connections#

It's considering the .guests a bad extension as far as I can see. Only removing the .guests makes it loadable. So we shouldn't load only .nmconnection files.

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

Right. The .guests suffix seems to be a problem here. But I don't know which suffixes are accepted/ignored now and in the future, so I'd avoid changing file names, as that will probably get us into other issues down the road (e.g. overwriting an already existing file of that new name).

Lukas Märdian (slyon)
description: updated
description: updated
Changed in network-manager (Ubuntu Mantic):
status: New → Triaged
Revision history for this message
Lukas Märdian (slyon) wrote :

The bugfix was staged for the "devel" series, as the archive is still frozen: https://git.launchpad.net/network-manager/log/

I'm uploading this into Mantic: https://git.launchpad.net/network-manager/log/?h=ubuntu/mantic

Changed in network-manager (Ubuntu Mantic):
status: Triaged → In Progress
Revision history for this message
Lukas Märdian (slyon) wrote :

After restoring git history for bug #2038439 I've now uploaded this SRU into Mantic, using the `ubuntu-mantic` branch (tag: ubuntu/1.44.2-1ubuntu1.1):

https://launchpad.net/ubuntu/mantic/+queue?queue_state=1&queue_text=network-manager

description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Steve, or anyone else affected,

Accepted network-manager into mantic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/network-manager/1.44.2-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-mantic to verification-done-mantic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-mantic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in network-manager (Ubuntu Mantic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-mantic
Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (6.4 KiB)

I tested network-manager 1.44.2-1ubuntu1.1 inside a Mantic LXD container. Package installation/upgrade and Netplan migration of (valid) connection profiles worked nicely, according to the "Test Plan":

# Previous version of NM is installed
root@mm-nm-sru:~# dpkg -l network-manager
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============-===============-============-=========================================================
ii network-manager 1.44.2-1ubuntu1 amd64 network management framework (daemon and userspace tools)

# Creating test files
root@mm-nm-sru:~# cat /etc/NetworkManager/system-connections/UPTOWN.guests
[connection]
id=UPTOWN.guests
uuid=491fa5c8-68ef-4140-8679-dca422f5c262
type=wifi

[wifi]
ssid=UPTOWN.guests
mode=infrastructure
mac-address=E0:9D:31:09:84:54

[ipv6]
method=auto

[ipv4]
method=auto
root@mm-nm-sru:~# cat /etc/NetworkManager/system-connections/aaaUPTOWN
[connection]
id=aaaUPTOWN
uuid=491fa5c8-68ef-0000-1111-dca422f5c262
type=wifi

[wifi]
ssid=aaaUPTOWN
mode=infrastructure
mac-address=E0:9D:31:09:84:54

[ipv6]
method=auto

[ipv4]
method=auto
root@mm-nm-sru:~# sudo chmod 600 /etc/NetworkManager/system-connections/*UPTOWN*

# Valid connection profiles are loaded into the old NM version as keyfiles in /etc/NetworkManager/
root@mm-nm-sru:~# ls -la /etc/NetworkManager/system-connections/
total 16
drwxr-xr-x 2 root root 4096 Oct 18 13:11 .
drwxr-xr-x 7 root root 4096 Oct 18 13:11 ..
-rw------- 1 root root 199 Oct 18 13:11 UPTOWN.guests
-rw------- 1 root root 191 Oct 18 13:11 aaaUPTOWN
root@mm-nm-sru:~# sudo nmcli con reload
root@mm-nm-sru:~# nmcli c
NAME UUID TYPE DEVICE
aaaUPTOWN 491fa5c8-68ef-0000-1111-dca422f5c262 wifi --

# Upgrade to SRU version of NetworkManager
root@mm-nm-sru:~# vim /etc/apt/sources.list # enable -proposed
root@mm-nm-sru:~# apt update && apt install -t mantic-proposed network-manager
Hit:1 http://archive.ubuntu.com/ubuntu mantic InRelease
Hit:2 http://archive.ubuntu.com/ubuntu mantic-updates InRelease
Get:3 http://archive.ubuntu.com/ubuntu mantic-proposed InRelease [256 kB]
Hit:4 http://security.ubuntu.com/ubuntu mantic-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu mantic-backports InRelease
Get:6 http://archive.ubuntu.com/ubuntu mantic-proposed/main amd64 Packages [9428 B]
Get:7 http://archive.ubuntu.com/ubuntu mantic-proposed/main Translation-en [3480 B]
Get:8 http://archive.ubuntu.com/ubuntu mantic-proposed/main amd64 DEP-11 Metadata [7604 B]
Get:9 http://archive.ubuntu.com/ubuntu mantic-proposed/main amd64 c-n-f Metadata [292 B]
Get:10 http://archive.ubuntu.com/ubuntu mantic-proposed/restricted amd64 c-n-f Metadata [116 B]
Fetched 277 kB in 1s (532 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
R...

Read more...

tags: added: verification-done-mantic
removed: verification-needed-mantic
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package network-manager - 1.44.2-1ubuntu1.1

---------------
network-manager (1.44.2-1ubuntu1.1) mantic; urgency=medium

  * network-manager.postinst: Skip unknown connection profiles (LP: #2039503)
  * Update debian/gbp.conf

 -- Lukas Märdian <email address hidden> Wed, 18 Oct 2023 10:45:22 +0200

Changed in network-manager (Ubuntu Mantic):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for network-manager has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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.