Hi all,

thanks all for debugging this so far.

On Mon, Aug 26, 2024 at 10:34:57AM +0200, Chris Hofstaedtler wrote:
> On Tue, Aug 13, 2024 at 07:48:17PM +0200, Giuseppe Sacco wrote:
> > root@supergulp:~# ls -l /usr/lib/x86_64-linux-gnu/libext2fs.so.2*
> > lrwxrwxrwx 1 root root     30  2 ago 08.59 
> > /usr/lib/x86_64-linux-gnu/libext2fs.so.2 -> libext2fs.so.2.4.usr-is-merged
> > -rw-r--r-- 1 root root 442704 20 mag 21.28 
> > /usr/lib/x86_64-linux-gnu/libext2fs.so.2.4
> > -rw-r--r-- 1 root root 438608  5 mar  2023 
> > /usr/lib/x86_64-linux-gnu/libext2fs.so.2.4.usr-is-merged
> > 
> > maybe this the (incorrect) result of an old usr-merge conversion?
> 
> That certainly doesn't look good. Adding Helmut to CC:.

It feels most likely that I caused the mess, but I happen to not yet
understand how.

> In the meantime, Giuseppe, do you happen to have upgrade logs
> (/var/log/apt/term.log and /var/log/dpkg.log) that lead to this
> point? If so, please attach them to this bug report.
> 
> A full list of installed packages (for all archs) would also be
> helpful.

This would be good indeed.

> Please, can you also check your /usr/lib/x86_64-linux-gnu directory
> for other files ending in ".usr-is-merged"? If you find any, please
> provide similar ls -l output as above.

Better check the entire root filesystem:

    find / ! \( \( -path /home -o -path /srv -o -fstype tmpfs -o -fstype proc 
-o -fstype sysfs \) -prune \) -name "*.usr-is-merged"

We generally epxect that the command does not yield any output and
clearly it will show at least libext2fs.so.2.4.usr-is-merged for you.

Additionally, I'd like to learn about the diversions effective on your
system:

    dpkg-divert --list

The output will be a bit lengthy here as DEP17 added a number of
protective diversions.

Now let me attempt to draw some initial conclusions from what we already
know. I double checked the actual current libext2fs2t64:amd64 .deb and
verified that it actually installs to /usr/lib/... and that the
diversion really is set up for /lib/.... The presence of a file named
"*.usr-is-merged" strongly suggests that a diversion was used for
redirecting a file. The size 442704 matches what is shipped in
libext2fs2t64:amd64 version 1.47.1-1 (current unstable). So the
.usr-is-merged one likely is an older library that lacks symbol you miss
while booting. The diversion is set up using --no-rename, so in order to
actually have that file, there has to be an unpack operation involving
the aliased location (i.e. libext2fs2, not libext2fs2t64) after having
run libext2fs2t64.preinst. Could it be that you attempted installing
libext2fs2t64, aborted and then upgraded libext2fs2? Alternatively,
could it be that you downgraded from libext2fs2t64 to libext2fs2 at a
later time or reinstalled libext2fs2 somehow after libext2fs2t64 was
already installed once?

I attempted reproducing this in a simple bookworm -> sid upgrade, but
that did not result in your situation.

Helmut

Reply via email to