Open kenvandine opened 1 month ago
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-3614.
This message was autogenerated
I was unable to reproduce this on an M1.
@kenvandine was unable to reproduce this when running the same subprocess call manually /snap/snapcraft/current/usr/bin/unsquashfs -d /tmp/tmpoh95i6tt/squashfs-root SOMELOCALLYBUILT.snap meta/snap.yaml snap/manifest.yaml
on the same machine. It could be useful to try snap run --shell snapcraft
and then try unsquashing. Perhaps it's something in snapd's environment.
The snap/manifest.yaml
is a red herring - unsquashfs
should not fail if the file does not exist.
The FATAL ERROR: Data queue size is too large
error comes from unsquashfs
: https://github.com/plougher/squashfs-tools/blob/0d1e6b0944f3938962238d886d9d1a8bfdf4dfcc/squashfs-tools/unsquashfs.c#L4607-L4608
Snapcraft is also using the version of squashfs-tools
that shipped with Jammy. There have been many bugfixes since then, so it would be instructive to build and test with a copy of snapcraft that uses a newer version.
What's the size of your tmpfs
?
As I can see you're on XPS with X1 chip, so you're probably using 24.10
.
May it be related with the oracular
change that /tmp
is tmpfs
mount ?
Out of curiosity, could you check the size of your /tmp
dir?
df -h /tmp
https://discourse.ubuntu.com/t/oracular-oriole-release-notes/44878
What's the size of your
tmpfs
? As I can see you're on XPS with X1 chip, so you're probably using24.10
. May it be related with theoracular
change that/tmp
istmpfs
mount ? Out of curiosity, could you check the size of your/tmp
dir?df -h /tmp
https://discourse.ubuntu.com/t/oracular-oriole-release-notes/44878
You are correct, I am on 24.10 and it is using tmpfs for /tmp
df reports /tmp is 15G with 15G available
Out of curiosity what's the ulimit -n
result on your laptop, I found an interesting issue that may be causing this kind of problems
Out of curiosity what's the
ulimit -n
result on your laptop, I found an interesting issue that may be causing this kind of problems
ulimit is 122376
I had a similar error too: https://forum.snapcraft.io/t/fatal-error-data-queue-size-is-too-large/43875
I did a test with this little program:
#!/usr/bin/env python3
import subprocess
import sys
import os
from pathlib import Path
temp_dir = "."
snap_path = sys.argv[1]
output = subprocess.check_output(
[
"/snap/snapcraft/current/usr/bin/unsquashfs",
"-d",
os.path.join(temp_dir, "squashfs-root"),
snap_path,
# cygwin unsquashfs on windows uses unix paths.
Path("meta", "snap.yaml").as_posix(),
Path("snap", "manifest.yaml").as_posix(),
]
)
print(output)
and it fails. But if I replace /snap/snapcraft/current/usr/bin/unsquashfs
with /usr/bin/unsquashfs
, it does work.
The snap has unsquashfs version 4.5, while my system has version 4.6.1.
EDIT: my test was done in an AMD x86_64 laptop.
BTW: maybe the size of the snap has something to do. Mine is 1,7GB (yes, yes, I know...)
Hey @kenvandine , can you test this patch when you have some spare time, please? It should fix your problem: https://github.com/canonical/snapcraft/pull/5147
It fixes my problem, at least...
Hey @kenvandine , can you test this patch when you have some spare time, please? It should fix your problem: #5147
It fixes my problem, at least...
I can confirm it does fix the problem I ran into on my arm64 device.
@kenvandine Thanks!!!
Bug Description
When attempting to push a locally built snap to the store with my qualcomm based laptop I get the following stderr:
To Reproduce
snapcraft push SOMELOCALLYBUILT.snap
Environment
snapcraft: 12827
uname: Linux xps13-qc 6.11.0-35-qcom-x1e #35-Ubuntu SMP PREEMPT_DYNAMIC Wed Oct 23 15:18:06 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
snapcraft.yaml
Relevant log output