container builds fail after creating the container
Metadata
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. | |
| #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). |