Package: libc6-amd64 Version: 2.25-1 Severity: critical Justification: breaks the whole system
Dear Maintainer, *** Reporter, please consider answering these questions, where appropriate *** * What led up to the situation? I have a x86-64 system with i386 and x32 foreign architectures (because I need to develop software for i386 and x32 architectures). * What exactly did you do (or not do) that was effective (or ineffective)? I ran apt update and apt upgrade. Apt tried to upgrade to libc-2.25. * What was the outcome of this action? Halfway through apt upgrade it failed and I ended up with unusable system where large number of binaries were segfauting on startup without doign anything. * What outcome did you expect instead? The upgrade to libc-2.25 should work. The reason for the catastrophic failure is this: There is package libc6-amd64:i386 and libc6-amd64:x32 (which provide x86-64 libc in /lib64/). This package is not technically needed (because x86-64 libc is already installed in /lib/x86_64-linux-gnu/), but it is installed nonetheless because of some dependencies. apt makes sure that all libc packages are upgraded at once to the same version. However, during the upgrade process, the package libc6-amd64 is upgraded before libc6:amd64. So, during the upgrade, we temporarily have two libcs with different versions on the system, and this mismatch makes most of the x86-64 binaries crash. Due to the crashes, the upgrade doesn't proceed and it doesn't install the correct libc version in /lib/x86_64-linux-gnu/. The result is unusable system. The system can be fixed if we mount it from another machine and remove the libc files from /lib64 directory - the upgrade can then proceed and install correct libc in /lib/x86_64-linux-gnu/. The libc package should be fixed, so that if we have mismatching libc version in /lib64 and in /lib/x86_64-linux-gnu/, it shouldn't crash, because such mismatch happens temporarily during upgrade. -- System Information: Debian Release: buster/sid APT prefers unreleased APT policy: (500, 'unreleased'), (500, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386, x32 Kernel: Linux 4.14.0 (SMP w/12 CPU cores; PREEMPT) Locale: LANG=cs_CZ.utf8, LC_CTYPE=cs_CZ.utf8 (charmap=UTF-8), LANGUAGE=cs_CZ.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init) Versions of packages libc6-amd64 depends on: ii libc6 2.25-1 libc6-amd64 recommends no packages. libc6-amd64 suggests no packages. -- no debconf information