** Description changed:

+ 
+ [Impact]
+ 
+ On Ubuntu 22.04 LTS and Ubuntu 24.04 LTS, python3 package operations can fail 
when the maintainer script inherits a non-empty environment variable named 
errors.
+ The preinst and postinst scripts use this variable to record failures from 
Python runtime hooks, but do not initialize it.
+ An inherited value is therefore treated as a hook failure even when every 
hook succeeds.
+ The preinst exits with status 3, causing apt to exit with status 100 and 
potentially blocking further package operations.
+ 
+ [Test Plan]
+ 
+ Run the following with the current version of python3 on both Jammy and
+ Noble
+ 
+     apt-cache policy python3
+     sudo errors=lp2078356 apt install --reinstall python3
+ 
+ The reinstall must fail with.
+ 
+     new python3 package pre-installation script subprocess returned
+ error exit status 3
+ 
+ Install the patched python3-defaults packages and confirm that 'apt-cache 
policy python3' shows the new version.
+ Then repeat.
+ 
+     sudo errors=lp2078356 apt install --reinstall python3
+     sudo dpkg --audit
+ 
+ The reinstall must complete successfully and 'dpkg --audit' must produce
+ no output.
+ 
+ [Where problems could occur]
+ 
+ The change is limited to the error accumulator used by python3's preinst and 
postinst runtime-hook loops.
+ A regression could preserve the false failure or fail to stop when a real 
runtime hook fails.
+ 
+ [Other Info]
+ 
+ 
  # README first
  
  
https://bugs.launchpad.net/ubuntu/+source/python3-defaults/+bug/2078356/comments/62
  has the details. If you are hit by this bug, please check if your root
  user's environment has the "errors" variable set:
  
  env | grep errors
  
  And then unset the variable and run "apt -f install" (or repeat the apt
  operation that failed and brought you here)
- 
  
  [ Original Description ]
  
  running python pre-rtupdate hooks for python3.12...
  dpkg: error processing archive 
/var/cache/apt/archives/python3_3.12.3-0ubuntu2_amd64.deb (--unpack):
   new python3 package pre-installation script subprocess returned error exit 
status 3
  Preparing to unpack .../libpython3-stdlib_3.12.3-0ubuntu2_amd64.deb ...
  Unpacking libpython3-stdlib:amd64 (3.12.3-0ubuntu2) over (3.12.3-0ubuntu1) ...
  Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6.1_amd64.deb ...
  Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6.1) over (2.39.3-9ubuntu6) ...
  Errors were encountered while processing:
   /var/cache/apt/archives/python3_3.12.3-0ubuntu2_amd64.deb
  E: Sub-process /usr/bin/dpkg returned an error code (1)
  
  ProblemType: Bug
  DistroRelease: Ubuntu 24.04
  Package: python3 3.12.3-0ubuntu1
  ProcVersionSignature: Ubuntu 6.8.0-41.41-generic 6.8.12
  Uname: Linux 6.8.0-41-generic x86_64
  NonfreeKernelModules: nvidia_modeset nvidia zfs
  ApportVersion: 2.28.1-0ubuntu3.1
  Architecture: amd64
  CasperMD5CheckResult: pass
  CurrentDesktop: ubuntu:GNOME
  Date: Thu Aug 29 10:52:19 2024
  InstallationDate: Installed on 2024-07-13 (47 days ago)
  InstallationMedia: Ubuntu 24.04 LTS "Noble Numbat" - Release amd64 (20240424)
  ProcEnviron:
   LANG=en_US.UTF-8
   PATH=(custom, no user)
   SHELL=/bin/bash
   TERM=xterm-256color
  SourcePackage: python3-defaults
  UpgradeStatus: No upgrade log present (probably fresh install)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2078356

Title:
  python3 preinst failure to run pre-rtupdate hooks

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python3-defaults/+bug/2078356/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to