← Back to issue list

container builds fail after creating the container

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1700703
Type
issue
State
closed
Author
~elopio
Labels
containers
Created
Updated
Closed

Current evaluation

LXD container-build ID mapping was fixed by snapcore/snapcraft#1385, merged as commit e85e0779b, removing the assumption that the user's UID was 1000.

Resolution: closed resolved

Reason: PR snapcore/snapcraft#1385 was merged as commit e85e0779b. It corrected raw.idmap generation to use the actual user ID, resolving the reported LXD "Failed to set up id mapping" failure.

Evaluated by: mr-cal-bot

No scores available.

Issue body

It is not possible to build a snap using SNAPCRAFT_CONTAINER_BUILDS. On the same machine, launching a lxc container works without problems, and running snapcraft cleanbuild also works. Steps to reproduce: 1. Get a clean xenial ubuntu machine. 2. sudo snap install snapcraft --beta --candidate 3. sudo apt install lxd 4. sudo lxd init 5. Accept all the defaults. 6. newgrp lxd 7. mkdir test 8. cd test 9. snapcraft init 10. SNAPCRAFT_CONTAINER_BUILDS=1 snapcraft Generating a client certificate. This may take a minute... If this is your first time using LXD, you should also run: sudo lxd init To start your first container, try: lxc launch ubuntu:16.04 Creating snapcraft-my-snap-name error: Error calling 'lxd forkstart snapcraft-my-snap-name /var/lib/lxd/containers /var/log/lxd/snapcraft-my-snap-name/lxc.conf': err='Failed to run: /usr/bin/lxd forkstart snapcraft-my-snap-name /var/lib/lxd/containers /var/log/lxd/snapcraft-my-snap-name/lxc.conf: ' lxc 20170627055627.673 ERROR lxc_start - start.c:lxc_spawn:1186 - Failed to set up id mapping. lxc 20170627055627.746 ERROR lxc_start - start.c:__lxc_start:1358 - Failed to spawn container "snapcraft-my-snap-name". lxc 20170627055628.377 ERROR lxc_conf - conf.c:run_buffer:416 - Script exited with status 1. lxc 20170627055628.377 ERROR lxc_start - start.c:lxc_fini:546 - Failed to run lxc.hook.post-stop for container "snapcraft-my-snap-name". lxc 20170627055628.379 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.379 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/systemd//lxc/snapcraft-my-snap-name lxc 20170627055628.382 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.382 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/freezer//lxc/snapcraft-my-snap-name lxc 20170627055628.384 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.384 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/pids//lxc/snapcraft-my-snap-name lxc 20170627055628.386 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.386 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/hugetlb//lxc/snapcraft-my-snap-name lxc 20170627055628.388 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.388 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/net_cls//lxc/snapcraft-my-snap-name lxc 20170627055628.390 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.390 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/cpu//lxc/snapcraft-my-snap-name lxc 20170627055628.392 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.392 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/cpuset//lxc/snapcraft-my-snap-name lxc 20170627055628.394 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.394 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/perf_event//lxc/snapcraft-my-snap-name lxc 20170627055628.402 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.402 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/blkio//lxc/snapcraft-my-snap-name lxc 20170627055628.404 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.404 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/memory//lxc/snapcraft-my-snap-name lxc 20170627055628.406 ERROR lxc_conf - conf.c:userns_exec_1:4608 - Error setting up child mappings lxc 20170627055628.406 ERROR lxc_cgfsng - cgroups/cgfsng.c:recursive_destroy:1288 - Error destroying /sys/fs/cgroup/devices//lxc/snapcraft-my-snap-name Try `lxc info --show-log local:snapcraft-my-snap-name` for more info Stopping local:snapcraft-my-snap-name error: The container is already stopped Try `lxc info --show-log local:snapcraft-my-snap-name` for more info Traceback (most recent call last): File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 102, in _ensure_started self._ensure_container() File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 202, in _ensure_container 'lxc', 'start', self._container_name]) File "/snap/snapcraft/274/usr/lib/python3.6/subprocess.py", line 291, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['lxc', 'start', 'local:snapcraft-my-snap-name']' returned non-zero exit status 1. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/snap/snapcraft/274/bin/snapcraft", line 32, in <module> obj=dict(project=snapcraft.ProjectOptions())) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/core.py", line 722, in __call__ return self.main(*args, **kwargs) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/core.py", line 1043, in invoke return Command.invoke(self, ctx) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func return f(get_current_context(), *args, **kwargs) File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/cli/__init__.py", line 102, in run ctx.forward(lifecyclecli.commands['snap']) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/core.py", line 553, in forward return self.invoke(cmd, **kwargs) File "/snap/snapcraft/274/lib/python3.6/site-packages/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 138, in snap lifecycle.containerbuild('snap', project_options, output, directory) File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/internal/lifecycle.py", line 341, in containerbuild metadata=config.get_metadata()).execute(step, args) File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 221, in execute super().execute(step, args) File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 110, in execute with self._ensure_started(): File "/snap/snapcraft/274/usr/lib/python3.6/contextlib.py", line 82, in __enter__ return next(self.gen) File "/snap/snapcraft/274/lib/python3.6/site-packages/snapcraft/internal/lxd.py", line 107, in _ensure_started check_call(['lxc', 'stop', '-f', self._container_name]) File "/snap/snapcraft/274/usr/lib/python3.6/subprocess.py", line 291, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['lxc', 'stop', '-f', 'local:snapcraft-my-snap-name']' returned non-zero exit status 1.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved LXD container-build ID mapping was fixed by snapcore/snapcraft#1385, merged as commit e85e0779b, removing the assumption that the user's UID was 1000.
stealth/space-bunny-alpha — closed resolved Container builds were fixed by PR #1385, which removed Snapcraft's hard-coded UID 1000 assumption for LXD raw.idmap and merged as commit e85e0779b.
stealth/space-bunny-alpha — closed stale Closed with no documented fix after prolonged inactivity; the matching Launchpad report is also closed without a recorded resolution.
qwen/qwen3.6-35b-a3b — — Closed without comments or resolution. The LXD id mapping failure during snapcraft container builds was likely abandoned or superseded by newer container build implementations.
qwen/qwen3.6-35b-a3b — — Closed without resolution. Reported LXD container build failures due to id mapping errors, but received zero comments or fixes and was abandoned.

Update history

Date Change
created

Related work

  • Likely Fixed By: snapcore/snapcraft#1385 (confidence 99%)

    The linked PR produced commit e85e0779b, specifically fixing LXD raw.idmap user-ID handling.

Related issues

Issue Project State Summary Similarity
#1780997 Persistent container builds are broken snapcraft (launchpad) closed Persistent LXD builds were fixed by canonical/snapcraft#1847 (commit e7d73a365), correcting user handling for remote SSHFS-mounted containers.
75%
#1703642 Containers should use the current user where possible snapcraft (launchpad) closed Root-owned LXD build artifacts were fixed by corrected UID mapping in merged canonical/snapcraft#1904 (commit 6bd4c9e59).
74%