[Bug 1985253] Re: In a new 20.04 LXD container, do-release-upgrade crashes as lspci cannot be found

Brian Murray 1985253 at bugs.launchpad.net
Wed Aug 24 00:00:37 UTC 2022


** Description changed:

- Version: 1:20.04.38
- Release: 20.04
+ Impact
+ ------
+ It is not possible to use do-release-upgrade on some installs (lxc containers, chroots) of Ubuntu as pci-utils which is called by nvidiadetector which in turn is called by a newly added upgrade quirk.
  
- Step to reproduce:
- 
+ Test Case
+ ---------
  1) lxc launch images:ubuntu/20.04
  2) get a shell on the container
  3) Install ubuntu-release-upgrader-core
  4) Run do-release-upgrade
  
  do-release-upgrade crashes with the trace below
  
+ With the version of ubuntu-release-upgrader from -proposed (testable by
+ using do-release-upgrade -p) the release upgrade will no longer crash in
+ this way and the upgrade will proceed.
+ 
  Installing pciutils for the lspci binary fixes the issue
  
  ***** shell input and trace *****
  
- # do-release-upgrade 
+ # do-release-upgrade
  Checking for a new Ubuntu release
- Get:1 Upgrade tool signature [819 B]                                                                                                                                                                                                                                           
- Get:2 Upgrade tool [1267 kB]                                                                                                                                                                                                                                                   
- Fetched 1268 kB in 0s (0 B/s)                                                                                                                                                                                                                                                  
- authenticate 'jammy.tar.gz' against 'jammy.tar.gz.gpg' 
+ Get:1 Upgrade tool signature [819 B]
+ Get:2 Upgrade tool [1267 kB]
+ Fetched 1268 kB in 0s (0 B/s)
+ authenticate 'jammy.tar.gz' against 'jammy.tar.gz.gpg'
  extracting 'jammy.tar.gz'
  
  Reading cache
  
  Checking package manager
  Reading package lists... Done
- Building dependency tree        
+ Building dependency tree
  Reading state information... Done
- Hit http://archive.ubuntu.com/ubuntu focal InRelease                                                                                                                                                                                                                           
- Hit http://archive.ubuntu.com/ubuntu focal-updates InRelease                                                                                                                                                                                                                   
- Hit http://security.ubuntu.com/ubuntu focal-security InRelease                                                                                                                                                                                                                 
- Fetched 0 B in 0s (0 B/s)                                                                                                                                                                                                                                                      
- Reading package lists... Done    
- Building dependency tree          
+ Hit http://archive.ubuntu.com/ubuntu focal InRelease
+ Hit http://archive.ubuntu.com/ubuntu focal-updates InRelease
+ Hit http://security.ubuntu.com/ubuntu focal-security InRelease
+ Fetched 0 B in 0s (0 B/s)
+ Reading package lists... Done
+ Building dependency tree
  Reading state information... Done
  
+ A fatal error occurred
  
- A fatal error occurred 
- 
- Please report this as a bug and include the files 
- /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in 
- your report. The upgrade has aborted. 
- Your original sources.list was saved in 
- /etc/apt/sources.list.distUpgrade. 
+ Please report this as a bug and include the files
+ /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in
+ your report. The upgrade has aborted.
+ Your original sources.list was saved in
+ /etc/apt/sources.list.distUpgrade.
  
  Traceback (most recent call last):
  
- File "/tmp/ubuntu-release-upgrader-4e8f3dz6/jammy", line 8, in 
- <module> 
- sys.exit(main()) 
+ File "/tmp/ubuntu-release-upgrader-4e8f3dz6/jammy", line 8, in
+ <module>
+ sys.exit(main())
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeMain.py", 
- line 241, in main 
- if app.run(): 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeMain.py",
+ line 241, in main
+ if app.run():
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py", 
- line 2042, in run 
- return self.fullUpgrade() 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py",
+ line 2042, in run
+ return self.fullUpgrade()
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py", 
- line 1873, in fullUpgrade 
- if not self.doPostInitialUpdate(): 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py",
+ line 1873, in fullUpgrade
+ if not self.doPostInitialUpdate():
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py", 
- line 906, in doPostInitialUpdate 
- self.quirks.run("PostInitialUpdate") 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py",
+ line 906, in doPostInitialUpdate
+ self.quirks.run("PostInitialUpdate")
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py", 
- line 99, in run 
- func() 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py",
+ line 99, in run
+ func()
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py", 
- line 126, in jammyPostInitialUpdate 
- self._fix_missing_nvidia_metapackage() 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py",
+ line 126, in jammyPostInitialUpdate
+ self._fix_missing_nvidia_metapackage()
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py", 
- line 1492, in _fix_missing_nvidia_metapackage 
- nv = NvidiaDetection() 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py",
+ line 1492, in _fix_missing_nvidia_metapackage
+ nv = NvidiaDetection()
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/NvidiaDetector/nvidiadetector.py", 
- line 72, in __init__ 
- self.detection() 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/NvidiaDetector/nvidiadetector.py",
+ line 72, in __init__
+ self.detection()
  
- File 
- "/tmp/ubuntu-release-upgrader-4e8f3dz6/NvidiaDetector/nvidiadetector.py", 
- line 113, in detection 
- p1 = Popen(['lspci', '-n'], stdout=PIPE, universal_newlines=True) 
+ File
+ "/tmp/ubuntu-release-upgrader-4e8f3dz6/NvidiaDetector/nvidiadetector.py",
+ line 113, in detection
+ p1 = Popen(['lspci', '-n'], stdout=PIPE, universal_newlines=True)
  
- File "/usr/lib/python3.8/subprocess.py", line 858, in __init__ 
- self._execute_child(args, executable, preexec_fn, close_fds, 
+ File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
+ self._execute_child(args, executable, preexec_fn, close_fds,
  
- File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child 
- raise child_exception_type(errno_num, err_msg, err_filename) 
+ File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child
+ raise child_exception_type(errno_num, err_msg, err_filename)
  
  FileNotFoundError: [Errno 2] No such file or directory: 'lspci
- --- 
+ ---
  ProblemType: Bug
  ApportVersion: 2.20.11-0ubuntu27.24
  Architecture: amd64
  CasperMD5CheckResult: skip
  CrashDB: ubuntu
  DistroRelease: Ubuntu 20.04
  Package: ubuntu-release-upgrader-core 1:20.04.38
  PackageArchitecture: all
  ProcEnviron:
-  TERM=xterm-256color
-  PATH=(custom, no user)
-  LANG=C.UTF-8
+  TERM=xterm-256color
+  PATH=(custom, no user)
+  LANG=C.UTF-8
  ProcVersionSignature: Ubuntu 4.15.0-188.199-generic 4.15.18
  Tags:  focal dist-upgrade
  Uname: Linux 4.15.0-188-generic x86_64
  UpgradeStatus: Upgraded to focal on 2022-08-11 (0 days ago)
  UserGroups: N/A
  VarLogDistupgradeAptlog:
-  Log time: 2022-08-11 17:10:43.752341
-  Log time: 2022-08-11 17:10:46.113962
+  Log time: 2022-08-11 17:10:43.752341
+  Log time: 2022-08-11 17:10:46.113962
  _MarkForUpload: True

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/1985253

Title:
  In a new 20.04 LXD container, do-release-upgrade crashes as lspci
  cannot be found

Status in ubuntu-release-upgrader package in Ubuntu:
  Invalid
Status in ubuntu-release-upgrader source package in Jammy:
  In Progress

Bug description:
  Impact
  ------
  It is not possible to use do-release-upgrade on some installs (lxc containers, chroots) of Ubuntu as pci-utils which is called by nvidiadetector which in turn is called by a newly added upgrade quirk.

  Test Case
  ---------
  1) lxc launch images:ubuntu/20.04
  2) get a shell on the container
  3) Install ubuntu-release-upgrader-core
  4) Run do-release-upgrade

  do-release-upgrade crashes with the trace below

  With the version of ubuntu-release-upgrader from -proposed (testable
  by using do-release-upgrade -p) the release upgrade will no longer
  crash in this way and the upgrade will proceed.

  Installing pciutils for the lspci binary fixes the issue

  ***** shell input and trace *****

  # do-release-upgrade
  Checking for a new Ubuntu release
  Get:1 Upgrade tool signature [819 B]
  Get:2 Upgrade tool [1267 kB]
  Fetched 1268 kB in 0s (0 B/s)
  authenticate 'jammy.tar.gz' against 'jammy.tar.gz.gpg'
  extracting 'jammy.tar.gz'

  Reading cache

  Checking package manager
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  Hit http://archive.ubuntu.com/ubuntu focal InRelease
  Hit http://archive.ubuntu.com/ubuntu focal-updates InRelease
  Hit http://security.ubuntu.com/ubuntu focal-security InRelease
  Fetched 0 B in 0s (0 B/s)
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done

  A fatal error occurred

  Please report this as a bug and include the files
  /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in
  your report. The upgrade has aborted.
  Your original sources.list was saved in
  /etc/apt/sources.list.distUpgrade.

  Traceback (most recent call last):

  File "/tmp/ubuntu-release-upgrader-4e8f3dz6/jammy", line 8, in
  <module>
  sys.exit(main())

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeMain.py",
  line 241, in main
  if app.run():

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py",
  line 2042, in run
  return self.fullUpgrade()

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py",
  line 1873, in fullUpgrade
  if not self.doPostInitialUpdate():

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeController.py",
  line 906, in doPostInitialUpdate
  self.quirks.run("PostInitialUpdate")

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py",
  line 99, in run
  func()

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py",
  line 126, in jammyPostInitialUpdate
  self._fix_missing_nvidia_metapackage()

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/DistUpgrade/DistUpgradeQuirks.py",
  line 1492, in _fix_missing_nvidia_metapackage
  nv = NvidiaDetection()

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/NvidiaDetector/nvidiadetector.py",
  line 72, in __init__
  self.detection()

  File
  "/tmp/ubuntu-release-upgrader-4e8f3dz6/NvidiaDetector/nvidiadetector.py",
  line 113, in detection
  p1 = Popen(['lspci', '-n'], stdout=PIPE, universal_newlines=True)

  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
  self._execute_child(args, executable, preexec_fn, close_fds,

  File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child
  raise child_exception_type(errno_num, err_msg, err_filename)

  FileNotFoundError: [Errno 2] No such file or directory: 'lspci
  ---
  ProblemType: Bug
  ApportVersion: 2.20.11-0ubuntu27.24
  Architecture: amd64
  CasperMD5CheckResult: skip
  CrashDB: ubuntu
  DistroRelease: Ubuntu 20.04
  Package: ubuntu-release-upgrader-core 1:20.04.38
  PackageArchitecture: all
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   LANG=C.UTF-8
  ProcVersionSignature: Ubuntu 4.15.0-188.199-generic 4.15.18
  Tags:  focal dist-upgrade
  Uname: Linux 4.15.0-188-generic x86_64
  UpgradeStatus: Upgraded to focal on 2022-08-11 (0 days ago)
  UserGroups: N/A
  VarLogDistupgradeAptlog:
   Log time: 2022-08-11 17:10:43.752341
   Log time: 2022-08-11 17:10:46.113962
  _MarkForUpload: True

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1985253/+subscriptions




More information about the foundations-bugs mailing list