Just FYI (for upstream code): if cryptsetup/libcryptsetup is linked with OpenSSL >= 3.2,
it does not need libphtread (as threads are implemented in OpenSSL for Argon2 internally).
It would also be nice if the "gui" view could show the error or at
least tell the user to pres ctrl-alt-del to get to a more informative
view, took me ages to figure out that one :-(
What is that “GUI” view? src:cryptsetup doesn't provide that, I wonder if it might be what needs libphtread.
After a ctrl-alt-del, I got to the console and there it showed an error about
libgcc_s.so.1 not available and aborting.
If you still have the broken initramfs image, please extract it with `unmkinitramfs /path/to/broken.initrd.img /path/to/destdir` and try to
find which executable / shared library needs libphtread, for instance
with
cd /path/to/destdir
for p in $(find -P {usr/,}lib/x86_64-linux-gnu {usr/,}{,s}bin/ -type f); do objdump -p "$p" 2>/dev/null | grep -q pthread && echo "$p"; done
Even it weren't, libpthread wouldn't show up since src:argon2 from
bookworm
and later is built using glibc ≥2.34.
AFAICT the “if the ldd output includes
libpthread then run copy_libgcc()” logic from initramfs-tools is
mostly moot
now, see https://bugs.debian.org/1032235#97 .
We used the following workaround to manually call copy_libgcc()
https://salsa.debian.org/cryptsetup-team/cryptsetup/-/commit/4cade1eae57abd93e0d6491eebce5f5f163ef186#a630d04e2df57150e6a092fc23f955c6ea0ce412
https://salsa.debian.org/cryptsetup-team/cryptsetup/-/commit/369cb651abad11a3844fa38ea86ece40f4f40078
for Bookworm, but removed it with 2:2.7.2-1 since src:cryptsetup no
longer uses libargon. There is no stability guaranty for transitive dependencies so I'd indeed argue the regression is not
src:cryptsetup's
fault :-) Adapting the above workarounds to your custom hookfile
should
solve the issue, though.
Did anyone of your report this issue anywhere else?
Some years ago I asked the initramfs-tools maintainers to
inconditionally copy
libgcc_s to the initramfs image, but IIRC Ben argued it was too
seldom used to
justify the cost in size and impemented the libpthread detection
logic +
copy_libgcc() instead.
I don't know if the detection logic can be improved/fixed in
initramfs-tools,
but despite what I promised elbrus in
https://bugs.debian.org/1032235#87 it
looks like I didn't file a bug.
So you say it's a glibc thingy, that this doesn't show up anymore?
$ ldd /usr/bin/argon2
linux-vdso.so.1 (0x00007ffcc67d4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1a1ee48000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1a1f058000)
I should use libc for determination?
Would you recommend me to reassign #1069912 to initramfs-tools, asking
for a more user-friendly solution?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 05:19:58 |
Calls: | 6,706 |
Files: | 12,236 |
Messages: | 5,350,493 |