push of locally built snap fails on arm64 device
Metadata
Current evaluation
Resolved via PR #5147 and merged in #5136. A bug in the bundled unsquashfs 4.5 caused push failures on arm64 and x86_64. The fix is included in Snapcraft 8.6, targeting the candidate release on Jan 20, 2025.
Suggested action: —
No scores available.
Issue body
### Bug Description
When attempting to push a locally built snap to the store with my qualcomm based laptop I get the following stderr:
```
FATAL ERROR: Data queue size is too large
```
### 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
```yaml
NA
```
### Relevant log output
```shell
2024-10-22 16:18:30.743 Starting snapcraft, version 8.4.3
2024-10-22 16:18:30.743 Log verbosity level set to BRIEF
2024-10-22 16:18:30.743 Preparing application...
2024-10-22 16:18:30.744 Configuring application...
2024-10-22 16:18:30.744 Setting up ConfigService
2024-10-22 16:18:30.758 Build plan: platform=None, build_for=None
2024-10-22 16:18:30.758 Running snapcraft push on host
2024-10-22 16:18:30.819 snapcraft internal error: SnapDataExtractionError('thunderbird_128.3.3esr-1_arm64.snap')
2024-10-22 16:18:30.829 Traceback (most recent call last):
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/lib/python3.10/site-packages/snapcraft_legacy/_store.py", line 58, in get_data_from_snap_file
2024-10-22 16:18:30.829 output = subprocess.check_output(
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/usr/lib/python3.10/subprocess.py", line 421, in check_output
2024-10-22 16:18:30.829 return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/usr/lib/python3.10/subprocess.py", line 526, in run
2024-10-22 16:18:30.829 raise CalledProcessError(retcode, process.args,
2024-10-22 16:18:30.829 subprocess.CalledProcessError: Command '['/snap/snapcraft/12827/usr/bin/unsquashfs', '-d', '/tmp/tmpoh95i6tt/squashfs-root', PosixPath('thunderbird_128.3.3esr-1_arm64.snap'), 'meta/snap.yaml', 'snap/manifest.yaml']' returned non-zero exit status 1.
2024-10-22 16:18:30.829
2024-10-22 16:18:30.829 During handling of the above exception, another exception occurred:
2024-10-22 16:18:30.829 Traceback (most recent call last):
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/lib/python3.10/site-packages/craft_application/application.py", line 568, in run
2024-10-22 16:18:30.829 return_code = self._run_inner()
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/lib/python3.10/site-packages/snapcraft/application.py", line 215, in _run_inner
2024-10-22 16:18:30.829 return_code = super()._run_inner()
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/lib/python3.10/site-packages/craft_application/application.py", line 549, in _run_inner
2024-10-22 16:18:30.829 return_code = dispatcher.run() or os.EX_OK
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/lib/python3.10/site-packages/craft_cli/dispatcher.py", line 487, in run
2024-10-22 16:18:30.829 return self._loaded_command.run(self._parsed_command_args)
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/lib/python3.10/site-packages/snapcraft/commands/upload.py", line 116, in run
2024-10-22 16:18:30.829 snap_yaml, manifest_yaml = get_data_from_snap_file(snap_file)
2024-10-22 16:18:30.829 File "/snap/snapcraft/12827/lib/python3.10/site-packages/snapcraft_legacy/_store.py", line 70, in get_data_from_snap_file
2024-10-22 16:18:30.829 raise SnapDataExtractionError(os.path.basename(snap_path))
2024-10-22 16:18:30.829 snapcraft_legacy.internal.errors.SnapDataExtractionError: Cannot read data from snap 'thunderbird_128.3.3esr-1_arm64.snap'. The file may be corrupted.
```
```
### Additional context
_No response_
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Resolved via PR #5147 and merged in #5136. A bug in the bundled unsquashfs 4.5 caused push failures on arm64 and x86_64. The fix is included in Snapcraft 8.6, targeting the candidate release on Jan 20, 2025. | |
| qwen/qwen3.6-35b-a3b | — | — | Resolved by replacing the bundled unsquashfs with the system version, fixing the "Data queue size is too large" error during push. The fix merged via PR #5147 and targets Snapcraft 8.6. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Fixed in Snapcraft 8.6 via PR #5136. The bundled unsquashfs v4.5 failed on large snaps due to a queue size limit. Replacing it with the system version resolves the push failure on arm64 and x86_64. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Resolved via PR #5147, fixing the arm64 push failure caused by an unsquashfs limitation. The reporter verified the patch. Changes were merged through PR #5136 and scheduled for the Snapcraft 8.6 release. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1379 fix: make snap build on all architectures. (#1377) | charmcraft | closed | Merged to fix snap build failures across multiple architectures. Successfully enabled builds for armhf, arm64, ppc64el, and s390x, resolving issue #1369. | |
| #5219 Snapcraft unable to compile ARM64 kernel | snapcraft | open | Cross-compiling an ARM64 kernel with snapcraft 7.5.8/8.5.1 fails when the kernel plugin runs 'apt-get download snapd:arm64' for snap bootstrap, because the Focal build environment has no snapd arm64 candidate. No maintainer response; reporter reproduced the apt error on Ubuntu 20/22 in Jan 2025. | |
| #1907721 Snapcraft broken on ARM64 | snapcraft (launchpad) | closed | Closed without comments. No fix or merge was applied. The ARM64 Multipass QEMU error and YAML !PrimeState deserialization bug were likely resolved by upstream Snapcraft updates or abandoned. |