← Back to issue list

snapcraft's lxc command string is not working without LANG=C on Ubuntu Touch

View original Github issue

Metadata

Project
snapcraft
Number
#6318
Type
issue
State
open
Author
fredldotme
Labels
—
Created
Updated
Closed
—

Current evaluation

Reports `snapcraft pack` failing on Ubuntu Touch (arm64 JingPad A1): LXC `exec ... env ... systemctl is-system-running` times out in craft_providers' LXD provider unless LANG=C is set. Untriaged, no maintainer response.

Suggested action: needs triage

Reason: The issue has zero labels, zero comments, no assignee and no maintainer response, so it has never been assessed — the default for new unlabelled reports. Scope is also limited and the root cause is unproven: the failure is a `TimeoutExpired` on the 0.25s `_setup_wait_for_system_ready` poll inside `craft_providers/lxd/lxd_provider.py`, not an lxc env-string parsing bug, and the user's claim that LANG=C fixes it is asserted but not demonstrated. The affected code now lives in craft-providers rather than this repo, and Ubuntu Touch/LXD-on-phone is not a supported configuration, so a maintainer needs to decide ownership and whether it is actionable at all.

Evaluated by: mr-cal-bot

Impact: 22 Quick Win: 4 Complexity: 45 Confidence: 58 Actionability: 32

Issue body

### Check existing issues - [x] I've verified that this bug isn't described by any existing issues. ### Bug description Running Ubuntu Touch on the arm64 JingPad A1 with Android kernel 4.14 and have Docker working, so I know container technologies are running properly on the vendor kernel. For LXC client commands required LANG=C to interpret the `env` command string correctly, there would be unknown characters when reading those strings. ### Steps to reproduce - `cd` into a snapcraft project and run: - `snapcraft pack` ### Environment We need to understand the context in which Snapcraft failed. Please let us know if you are running Snapcraft in destructive mode, whether you are using LXD or Multipass, and which operating system you are running Snapcraft on. ### snapcraft.yaml ```yaml # any ``` ### Log output ```shell 2026-07-02 15:46:49.359 File "/snap/snapcraft/current/usr/lib/python3.12/subprocess.py", line 2116, in _communicate 2026-07-02 15:46:49.359 self._check_timeout(endtime, orig_timeout, stdout, stderr) 2026-07-02 15:46:49.359 File "/snap/snapcraft/current/usr/lib/python3.12/subprocess.py", line 1253, in _check_timeout 2026-07-02 15:46:49.359 raise TimeoutExpired( 2026-07-02 15:46:49.359 subprocess.TimeoutExpired: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:base-instance-snapcraft-buildd-base-v71--f02c2da881cfba9d7924', '--', 'env', 'CRAFT_MANAGED_MODE=1', 'SNAPCRAFT_DEBUG=False', 'SNAPCRAFT_LXD_REMOTE=local', 'SNAPCRAFT_LAUNCHPAD_INSTANCE=production', 'DEBIAN_FRONTEND=noninteractive', 'DEBCONF_NONINTERACTIVE_SEEN=true', 'DEBIAN_PRIORITY=critical', 'systemctl', 'is-system-running']' timed out after 0.25 seconds 2026-07-02 15:46:49.359 2026-07-02 15:46:49.359 The above exception was the direct cause of the following exception: 2026-07-02 15:46:49.359 Traceback (most recent call last): 2026-07-02 15:46:49.359 File "/snap/snapcraft/x1/lib/python3.12/site-packages/craft_providers/lxd/lxd_provider.py", line 221, in launched_environment 2026-07-02 15:46:49.359 instance = launch( 2026-07-02 15:46:49.359 ^^^^^^^ 2026-07-02 15:46:49.359 File "/snap/snapcraft/x1/lib/python3.12/site-packages/craft_providers/lxd/launcher.py", line 870, in launch 2026-07-02 15:46:49.359 _create_instance( 2026-07-02 15:46:49.359 File "/snap/snapcraft/x1/lib/python3.12/site-packages/craft_providers/lxd/launcher.py", line 167, in _create_instance 2026-07-02 15:46:49.359 base_configuration.setup(executor=base_instance, mount_cache=False) 2026-07-02 15:46:49.359 File "/snap/snapcraft/x1/lib/python3.12/site-packages/craft_providers/base.py", line 1062, in setup 2026-07-02 15:46:49.359 self._setup_wait_for_system_ready(executor=executor) ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 22
Quick Win: 4
Complexity: 45
Confidence: 58
Actionability: 32
needs triage Reports `snapcraft pack` failing on Ubuntu Touch (arm64 JingPad A1): LXC `exec ... env ... systemctl is-system-running` times out in craft_providers' LXD provider unless LANG=C is set. Untriaged, no maintainer response.
stealth/space-bunny-alpha
Impact: 22
Quick Win: 2
Complexity: 60
Confidence: 66
Actionability: 27
needs triage Snapcraft pack on Ubuntu Touch (JingPad A1, vendor kernel) times out in LXD base instance startup because the lxc exec ... env ... systemctl probe returns garbled output without LANG=C; untriaged, no maintainer response.
stealth/space-bunny-alpha
Impact: 43
Quick Win: 9
Complexity: 55
Confidence: 87
Actionability: 48
needs triage Snapcraft pack times out during LXC base readiness on Ubuntu Touch without LANG=C; it remains untriaged, with no confirmed workaround or maintainer response.
qwen3.6-35b-a3b-mtp-q6
Impact: 20
Quick Win: 12
Staleness: 65
Complexity: 40
Confidence: 40
Support Request: 60
needs triage LXC exec command times out on Ubuntu Touch due to locale/encoding issues with env command string; untriaged, no maintainer response after 65 days.
qwen/qwen3.6-35b-a3b
Staleness: 40
Complexity: 40
Confidence: 80
Support Request: 20
needs triage snapcraft pack fails with a subprocess timeout when executing lxc commands on Ubuntu Touch arm64. Author notes LANG=C is required to parse environment strings correctly. Unlabelled, zero maintainer comments, 20 days old.
qwen3.6-35b-a3b-mtp-q6
Staleness: 15
Complexity: 45
Confidence: 90
Support Request: 10
needs triage snapcraft pack fails with a subprocess timeout when executing LXC commands on Ubuntu Touch unless LANG=C is set. Unlabelled, no maintainer response, awaiting triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 5
Complexity: 45
Confidence: 90
Support Request: 20
needs triage Fresh bug report about snapcraft's lxc exec command timing out on Ubuntu Touch due to LANG=C environment handling. Awaiting maintainer triage.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-providers (confidence 70%)

    Traceback in the report points at site-packages/craft_providers/lxd/lxd_provider.py and launcher.py; any locale/timeout fix would have to be made there, not in snapcraft.

  • Related To: snapcraft#4443 (confidence 45%)

    Previously closed issue about snapcraft hanging on ARM64 with LXD (fixed in 7.5.4 by adding a timeout); same general 'stuck waiting for system ready on LXD' symptom but a different suspected cause.

Related issues

Issue Project State Summary Similarity
#4443 snapcraft on ARM 64 - stuck at lxd snapcraft closed The ARM64 hang was traced to missing LXD container networking, not a Snapcraft architecture defect; Snapcraft 7.5.4 added a timeout instead of looping indefinitely.
71%