** 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
