container builds fail after creating the container

Bug #1700703 reported by Leo Arias
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Snapcraft
Fix Released
High
Cris Dywan

Bug Description

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.

Tags: containers
Revision history for this message
Leo Arias (elopio) wrote :

The same happens with the 2.32 deb.

Revision history for this message
Cris Dywan (kalikiana) wrote :
Changed in snapcraft:
status: Confirmed → Fix Committed
milestone: none → 2.33
Changed in snapcraft:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.