What version of Singularity are you using? Run:
3.6.4
When extracting to a filesystem without xattr support (e.g. tmpfs) using unsquashfs 4.4 we end up with a fatal although the extraction was completed (without xattrs set).
dave@dev-fedora/d/shm> singularity run -u alpine_latest.sif
INFO: Converting SIF file to temporary sandbox...
FATAL: while extracting alpine_latest.sif: root filesystem extraction failed: extract command failed: WARNING: passwd file doesn't exist in container, not updating
WARNING: group file doesn't exist in container, not updating
WARNING: Skipping mount /etc/hosts [binds]: /etc/hosts doesn't exist in container
WARNING: Skipping mount /etc/localtime [binds]: /etc/localtime doesn't exist in container
WARNING: Skipping mount proc [kernel]: /proc doesn't exist in container
WARNING: Skipping mount /usr/local/var/singularity/mnt/session/tmp [tmp]: /tmp doesn't exist in container
WARNING: Skipping mount /usr/local/var/singularity/mnt/session/var/tmp [tmp]: /var/tmp doesn't exist in container
WARNING: Skipping mount /usr/local/var/singularity/mnt/session/etc/resolv.conf [files]: /etc/resolv.conf doesn't exist in container
write_xattr: failed to write xattr user.rootlesscontainers for file /image/root/etc/shadow because extended attributes are not supported by the destination filesystem
Ignoring xattrs in filesystem
To avoid this error message, specify -no-xattrs
Parallel unsquashfs: Using 16 processors
424 inodes (454 blocks) to write
[===============================================================|] 454/454 100%
created 90 files
created 99 directories
created 334 symlinks
created 0 devices
created 0 fifos
created 0 sockets
This occurs only with unsquashfs 4.4 as previous versions did not set an error code for non-fatal errors.
See: https://github.com/plougher/squashfs-tools/blob/master/CHANGES
See above
Fedora 33
Write here how you installed Singularity. Eg. RPM, source.
I get the same problem with version 4.3 as with version 4.4. However, I think it might be something else, since xattrs should be supported (I am using logical volumes on ext4). Is there a way to get more debug output from singularity when running unsquashfs?
FATAL: while extracting /path/config/.snakemake/singularity/bc12f9f5dd66bf5a09489dfa07c45231.simg: root filesystem extra
ction failed: extract command failed: WARNING: passwd file doesn't exist in container, not updating
WARNING: group file doesn't exist in container, not updating
WARNING: Skipping mount /etc/hosts [binds]: /etc/hosts doesn't exist in container
WARNING: Skipping mount /etc/localtime [binds]: /etc/localtime doesn't exist in container
WARNING: Skipping mount proc [kernel]: /proc doesn't exist in container
WARNING: Skipping mount /home/me/anaconda3/envs/sp/var/singularity/mnt/session/tmp [tmp]: /tmp doesn't exist in container
WARNING: Skipping mount /home/me/anaconda3/envs/sp/var/singularity/mnt/session/var/tmp [tmp]: /var/tmp doesn't exist in container
WARNING: Skipping mount /home/me/anaconda3/envs/sp/var/singularity/mnt/session/etc/resolv.conf [files]: /etc/resolv.conf doesn't exist in contain
er
panic: readlink /proc/self/exe: no such file or directory
goroutine 1 [running]:
github.com/sylabs/singularity/internal/pkg/buildcfg.RelocatePath(0x563538544993, 0xff, 0x563538543542, 0x6b)
github.com/sylabs/[email protected]/internal/pkg/buildcfg/config.go:17 +0x3cb
github.com/sylabs/singularity/internal/pkg/buildcfg.init()
github.com/sylabs/[email protected]/internal/pkg/buildcfg/config.go:52 +0x21f
: exit status 2
@moritzschaefer - This is definitely a different problem. The fact that the panic happens in RelocatePath suggests you aren't using the main Singularity codebase, but the conda-forge version which is patched by a 3rd party. That patch appears to be incompatible with the wrapped unsquashfs approach in Singularity 3.6.4.
As the issue cannot occur in the main Singularity code base (we do not have RelocatePath), it's not something that we can fix. However the patch is being submitted in a PR at #5454 - so discussion there with @chrisburr would likely be approperiate.
@moritzschaefer Downgrading to Singularity 3.6.3 from conda-forge avoids the issue. I'll continue the discussion with @dctrud in #5454.
Most helpful comment
@moritzschaefer Downgrading to Singularity
3.6.3from conda-forge avoids the issue. I'll continue the discussion with @dctrud in #5454.