I suspect you're right and we should simply ignore the failure. Can you show /proc/self/mountinfo before the lxc-start?
Quoting Przemyslaw Rudy ([email protected]): > -1 is rv, errno is 22 EINVAL > > The log: > lxc-start 40.086 INFO lxc_start_ui - lxc_start.c:main:264 - > using rcfile /containers/mycnt/config > lxc-start 40.087 INFO lxc_confile - > confile.c:config_idmap:1376 - read uid map: type u nsid 0 hostid 100000 range > 65536 > lxc-start 40.087 INFO lxc_confile - > confile.c:config_idmap:1376 - read uid map: type g nsid 0 hostid 100000 range > 65536 > lxc-start 40.087 WARN lxc_cgfs - > cgfs.c:lxc_cgroup_get_container_info:1100 - Not attaching to cgroup cpuset > unknown to /containers mycnt > lxc-start 40.087 DEBUG lxc_start - > start.c:setup_signal_fd:259 - sigchild handler set > lxc-start 40.089 DEBUG lxc_console - > console.c:lxc_console_peer_default:500 - opening /dev/tty for console peer > lxc-start 40.089 DEBUG lxc_console - > console.c:lxc_console_peer_default:506 - using '/dev/tty' as console > lxc-start 40.089 DEBUG lxc_console - > console.c:lxc_console_sigwinch_init:179 - 509 got SIGWINCH fd 9 > lxc-start 40.089 DEBUG lxc_console - > console.c:lxc_console_winsz:88 - set winsz dstfd:6 cols:0 rows:0 > lxc-start 40.089 INFO lxc_start - start.c:lxc_init:451 - > 'mycnt' is initialized > lxc-start 40.095 DEBUG lxc_start - start.c:__lxc_start:1137 > - Not dropping cap_sys_boot or watching utmp > lxc-start 40.097 INFO lxc_start - > start.c:resolve_clone_flags:848 - Cloning a new user namespace > lxc-start 40.112 DEBUG lxc_conf - > conf.c:instantiate_veth:2703 - instantiated veth 'veth-mycnt/vethNPPNHE', > index is '12' > lxc-start 40.112 INFO lxc_cgroup - cgroup.c:cgroup_init:65 > - cgroup driver cgroupfs initing for mycnt > lxc-start 40.122 DEBUG lxc_conf - > conf.c:lxc_assign_network:3120 - move 'eth0' to '512' > lxc-start 40.122 NOTICE lxc_start - start.c:do_start:667 - > switching to gid/uid 0 in new user namespace > lxc-start 40.125 DEBUG lxc_conf - conf.c:setup_rootfs:1284 - > mounted '/containers/mycnt/rootfs' on '/usr/lib/lxc/rootfs' > lxc-start 40.125 INFO lxc_conf - conf.c:setup_utsname:919 - > 'mycnt' hostname has been setup > lxc-start 40.153 DEBUG lxc_conf - conf.c:setup_netdev:2479 - > 'eth0' has been setup > lxc-start 40.153 INFO lxc_conf - conf.c:setup_network:2500 > - network has been setup > lxc-start 40.153 INFO lxc_conf - conf.c:mount_autodev:1148 > - Mounting /dev under /usr/lib/lxc/rootfs > lxc-start 40.153 INFO lxc_conf - conf.c:mount_autodev:1169 > - Mounted tmpfs onto /usr/lib/lxc/rootfs/dev > lxc-start 40.153 INFO lxc_conf - conf.c:mount_autodev:1187 > - Mounted /dev under /usr/lib/lxc/rootfs > lxc-start 40.153 DEBUG lxc_conf - conf.c:mount_entry:1735 - > remounting /shared on /usr/lib/lxc/rootfs/tmp to respect bind or remount > optios > lxc-start 40.153 DEBUG lxc_conf - conf.c:mount_entry:1750 - > (at remount) flags for /shared was 0, required extra flags are 0 > lxc-start 40.153 DEBUG lxc_conf - conf.c:mount_entry:1759 - > mountflags already was 4098, skipping remount > lxc-start 40.153 DEBUG lxc_conf - conf.c:mount_entry:1785 - > mounted '/shared' on '/usr/lib/lxc/rootfs/tmp', type 'none' > lxc-start 40.153 INFO lxc_conf - > conf.c:mount_file_entries:2034 - mount points have been setup > lxc-start 40.153 INFO lxc_conf - conf.c:fill_autodev:1215 - > Creating initial consoles under /usr/lib/lxc/rootfs/dev > lxc-start 40.153 INFO lxc_conf - conf.c:fill_autodev:1226 - > Populating /dev under /usr/lib/lxc/rootfs > lxc-start 40.154 INFO lxc_conf - conf.c:fill_autodev:1258 - > Populated /dev under /usr/lib/lxc/rootfs > lxc-start 40.154 INFO lxc_conf - > conf.c:setup_dev_console:1515 - console has been setup > lxc-start 40.154 INFO lxc_conf - > conf.c:do_tmp_proc_mount:3576 - I am 1, /proc/self points to '' > lxc-start 40.161 INFO lxc_conf - > conf.c:do_tmp_proc_mount:3602 - Mounted /proc in container for security > transition > lxc-start 40.500 ERROR lxc_conf - > conf.c:prepare_ramfs_root:1378 - Invalid argument - Unable to umount /proc > lxc-start 40.500 ERROR lxc_conf - conf.c:lxc_setup:3917 - > failed to set rootfs for 'mycnt' > lxc-start 40.500 ERROR lxc_start - start.c:do_start:699 - > failed to setup the container > lxc-start 40.500 ERROR lxc_sync - sync.c:__sync_wait:51 - > invalid sequence number 1. expected 2 > lxc-start 40.500 WARN lxc_conf - > conf.c:lxc_delete_network:2996 - failed to remove interface 'eth0' > lxc-start 40.515 ERROR lxc_start - start.c:__lxc_start:1164 > - failed to spawn 'mycnt' > lxc-start 40.669 ERROR lxc_start_ui - lxc_start.c:main:344 - > The container failed to start. > lxc-start 40.669 ERROR lxc_start_ui - lxc_start.c:main:348 - > Additional information can be obtained by setting the --logfile and --logprio. > > > On 07/28/2015 05:09 PM, Serge Hallyn wrote: > > Quoting Przemyslaw Rudy ([email protected]): > >> Referring to this patch: > >> https://lists.linuxcontainers.org/pipermail/lxc-devel/2014-October/010604.html > >> > >> Starting lxc with userns in prepare_ramfs_root() I got -1 from: > > > > rv or errno? > > > >> if (umount2("./proc", MNT_DETACH)) { > >> > >> Shall this error be rather ignored in case of userns? Thus the same > >> logic as for other mount points processed by mentioned function? > > > > Can you give full (-l trace -o debug.output) startup log? > > _______________________________________________ > > lxc-devel mailing list > > [email protected] > > http://lists.linuxcontainers.org/listinfo/lxc-devel > > > _______________________________________________ > lxc-devel mailing list > [email protected] > http://lists.linuxcontainers.org/listinfo/lxc-devel _______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
