[Bug 1960080] [NEW] libgcc_s.so.1 must be installed for pthread_exit to work

Craig G 1960080 at bugs.launchpad.net
Fri Feb 4 22:03:28 UTC 2022


Public bug reported:

I'm unable to decrypt my root partition at boot using the cryptsetup-
initramfs package currently in jammy (2:2.4.2-1ubuntu4).  I get the
askpass prompt, but after entering the password, decryption fails with
the error message:

  libgcc_s.so.1 must be installed for pthread_exit to work

and I'm prompted to retry.

This library indeed seems to be missing from the initrd file:

  lsinitramfs /boot/initrd.img-5.15.0-18-generic | grep libgcc

Compared with an identically configured image running impish:

  lsinitramfs /boot/initrd.img-5.13.0-28-generic | grep libgcc
  usr/lib/x86_64-linux-gnu/libgcc_s.so.1

I noticed the following line in the jammy changelog:

  * cryptsetup-initramfs now requires initramfs-tools 0.137 or later and no
    longer copies libgcc_s.so.1 to the initrd since recent initramfs-tools
    take care of it.

And found the following lines in the impish version of
/usr/share/initramfs-tools/hooks/cryptroot:

  # libargon2 uses pthread_cancel
  for so in $(ldconfig -p | sed -nr 's/^\s*libgcc_s\.so.*=>\s*//p'); do
      copy_exec "$so"
  done

Which are not in the jammy version.  Adding an explicit copy_exec line
for this library and rebuilding the initrd file fixes the problem.

I'm not exactly sure which binary in the cryptsetup initrd inclusion
requires this library (it doesn't appear to be the askpass nor
cryptsetup binaries), but whatever it is doesn't seem to be properly
declaring its dependency for inclusion.

I also don't completely understand the changelog message that implies
inclusion of this library is now the responsibility of initramfs-
tools...

** Affects: cryptsetup (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  libgcc_s.so.1 must be installed for pthread_exit to work

Status in cryptsetup package in Ubuntu:
  New

Bug description:
  I'm unable to decrypt my root partition at boot using the cryptsetup-
  initramfs package currently in jammy (2:2.4.2-1ubuntu4).  I get the
  askpass prompt, but after entering the password, decryption fails with
  the error message:

    libgcc_s.so.1 must be installed for pthread_exit to work

  and I'm prompted to retry.

  This library indeed seems to be missing from the initrd file:

    lsinitramfs /boot/initrd.img-5.15.0-18-generic | grep libgcc

  Compared with an identically configured image running impish:

    lsinitramfs /boot/initrd.img-5.13.0-28-generic | grep libgcc
    usr/lib/x86_64-linux-gnu/libgcc_s.so.1

  I noticed the following line in the jammy changelog:

    * cryptsetup-initramfs now requires initramfs-tools 0.137 or later and no
      longer copies libgcc_s.so.1 to the initrd since recent initramfs-tools
      take care of it.

  And found the following lines in the impish version of
  /usr/share/initramfs-tools/hooks/cryptroot:

    # libargon2 uses pthread_cancel
    for so in $(ldconfig -p | sed -nr 's/^\s*libgcc_s\.so.*=>\s*//p'); do
        copy_exec "$so"
    done

  Which are not in the jammy version.  Adding an explicit copy_exec line
  for this library and rebuilding the initrd file fixes the problem.

  I'm not exactly sure which binary in the cryptsetup initrd inclusion
  requires this library (it doesn't appear to be the askpass nor
  cryptsetup binaries), but whatever it is doesn't seem to be properly
  declaring its dependency for inclusion.

  I also don't completely understand the changelog message that implies
  inclusion of this library is now the responsibility of initramfs-
  tools...

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/1960080/+subscriptions




More information about the foundations-bugs mailing list