squashfs-tools: needs to depend on libgcc-s1

Bug #1943008 reported by Andrea Righi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
snapd (Ubuntu)
Won't Fix
Undecided
Unassigned
squashfs-tools (Debian)
New
Unknown
squashfs-tools (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I'm getting this error running the ADT test for snapd on impish:

021-09-08 07:49:43 Error executing autopkgtest:adt-local:tests/smoke/sandbox (autopkgtest:adt-local) :
-----
++ snap debug confinement
+ '[' strict '!=' strict ']'
+ /home/gopath/src/github.com/snapcore/snapd/tests/lib/tools/snaps-state install-local test-snapd-sandbox
error: cannot pack "/home/gopath/src/github.com/snapcore/snapd/tests/smoke/sandbox/test-snapd-sandbox": mksquashfs call failed:
-----
libgcc_s.so.1 must be installed for pthread_cancel to work
Parallel mksquashfs: Using 1 processor
Creating 4.0 filesystem on /home/gopath/src/github.com/snapcore/snapd/tests/smoke/sandbox/test-snapd-sandbox/test-snapd-sandbox_1.0_all.snap, block size 131072.
-----
error: cannot read snap file: "/var/lib/snapd/snaps/.local-install-443592474"
       is not a snap or snapdir
-----

Revision history for this message
Maciej Borzecki (maciek-borzecki) wrote :

AFAIU the extra line in the output (libgcc_s.so.1 must be installed for pthread_cancel to work) appears when mksquashfs is invoked as squashfs-tools is missing a dependency on libgc-s1 (previously libgcc1).

Changed in snapd (Ubuntu):
status: New → Won't Fix
Dan Bungert (dbungert)
Changed in squashfs-tools (Ubuntu):
status: New → Confirmed
assignee: nobody → Dan Bungert (dbungert)
assignee: Dan Bungert (dbungert) → nobody
Dan Bungert (dbungert)
summary: - snapd autopkgtest smoke/sandbox failure on impish
+ squashfs-tools: needs to depend on libgcc-s1
Revision history for this message
Alex Murray (alexmurray) wrote :

My understanding was that this was an issue in snapd, not squashfs-tools directly - https://github.com/snapcore/snapd/pull/10757

Revision history for this message
Dan Bungert (dbungert) wrote :

For the snapd autopkgtest problem, you are correct and that changes have been committed for the snapd snapcraft file to include libgcc.

The dependency is also correct for impish - I spawned a container to experiment with a system that did not have libgcc-s1. libgcc-s1 is Priority: required and attempting to `apt remove libgcc-s1` offers to remove 61 other essential packages. Manually removing the library and running a trivial mksquashfs case does cause an equivalent failure to the above. Based on this the dependency looks correct but functionally redundant.

I have dropped the patch and unsubscribed sponsors, and forwarded the suggestion to Debian.

Revision history for this message
Dan Bungert (dbungert) wrote :

@arighi - to your original question, mksquashfs seems OK when using snapd from the edge channel. I'm building a ppa to help verify that the full autopkgtest is happy.

Revision history for this message
Dan Bungert (dbungert) wrote :

Log from local testing.
Forcing snapd to edge passes this test.

Changed in squashfs-tools (Debian):
status: Unknown → New
Revision history for this message
Andrea Righi (arighi) wrote (last edit ):

Any progress on this? It looks like this issue is currently blocking the promotion of all our impish kernels for the beta.

Revision history for this message
Dan Bungert (dbungert) wrote (last edit ):

> Any progress on this?

If the snapd snap on the edge channel was on stable, this would be a non-issue because libgcc_s has been added to that snap. If you like, you can verify this for yourself by making a modification to the snapd package to force the edge channel snap to be installed and running it thru autopkgtest.

Adding the dependency from squashfs-tools -> libgcc-s1 is ultimately a good thing for package correctness but will do nothing to resolve the current autopkgtest dilemma because it's the mksquashfs inside the snapd snap that wants a matching libgcc_s. See also above comment I made which shows that libgcc_s is de-facto present on any realistic system.

I'm strongly considering just hinting the relevant packages and being done with it, but there is the following problem:
Why are any of the snapd autopkgtests passing right now?

looking at current history of amd64 snapd tests, the last 4 runs were triggered with
* linux-aws (pass)
* linux-gcp (pass)
* linux-oracle (fail)
* linux-meta-kvm (pass)

I looked at the logs and artifacts for oracle versus the others and I'm not seeing interesting reasons on why -oracle would fail when -gcp passes. And when I run them locally, they fail every time, including passing scenarios like the above linux-gcp. And why would -oracle would pass 4 days ago and not now?

Again, maybe we just hint and move on, but something odd is happening.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.