[CRIU] CRIU LXC error

Andrew Vagin avagin at parallels.com
Fri Feb 14 06:29:40 PST 2014


On Fri, Feb 14, 2014 at 11:25:14AM +0545, Urgen Sherpa wrote:
> Hellow Andrew ,
> i removed this line --CONFIG_DEVPTS_MULTIPLE_INSTANCES=y  from file /etc/boot/
> config-3.11.0-12-generic.when i run criudump at first thiserror is

I have not asked to do this. I have asked to delete the
"lxc.cgroup.devices.allow = c 5:1 rwm" line from the config file.

Then you need to restart CT and try to dump it again.

Thanks.

> showed.root at ktmnp:/home/nplink/criu-1.1# cat /dumps/dumps.log
> Error (sk-netlink.c:77): The socket has data to read
> Error (cr-dump.c:1493): Dump files (pid: 1877) failed with -1
> Error (cr-dump.c:1828): Dumping FAILED.
> On second run :-
> root at ktmnp:/home/nplink/criu-1.1# ./criu dump -t 1654 -D /dumps/ -o dumps.log
> root at ktmnp:/home/nplink/criu-1.1# cat /dumps/dumps.log
> Error (parasite-syscall.c:387): si_code=4 si_pid=1930 si_status=5
> Error (parasite-syscall.c:387): si_code=4 si_pid=1931 si_status=5
> Error (parasite-syscall.c:387): si_code=4 si_pid=1932 si_status=5
> Error (tty.c:203): tty: Can't obtain ptmx index: Inappropriate ioctl for device
> Error (cr-dump.c:1493): Dump files (pid: 2074) failed with -1
> Error (cr-dump.c:1828): Dumping FAILED.
> 
> Do i have to compile the kernel and set the CONFIG_DEVPTS_MULTIPLE_INSTANCES=n 
> or is there any other way?
> thank you
> 
> 
> On Wed, Feb 12, 2014 at 1:34 PM, Andrew Vagin <avagin at parallels.com> wrote:
> 
>     On Wed, Feb 12, 2014 at 11:26:25AM +0545, Urgen Sherpa wrote:
>     > hi,
>     > the output of reading mountinfo is as follows
>     > root at ktmnp:/home/nplink# lxc-info -n test-container
>     > state:   RUNNING
>     > pid:      4953
>     > root at ktmnp:/home/nplink# cat /proc/4953/mountinfo
>     > 131 72 252:0 /var/lib/lxc/test-container/rootfs / rw,relatime - ext4 /dev
>     /
>     > mapper/ktmnp--vg-root rw,errors=remount-ro,data=ordered
>     > 132 131 0:65 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
>     > 133 131 0:66 / /sys rw,relatime - sysfs sysfs rw
>     > 134 133 0:17 / /sys/fs/fuse/connections rw,relatime - fusectl none rw
>     > 135 133 0:6 / /sys/kernel/debug rw,relatime - debugfs none rw
>     > 136 133 0:10 / /sys/kernel/security rw,relatime - securityfs none rw
>     > 137 133 0:22 / /sys/fs/pstore rw,relatime - pstore none rw
>     > 73 131 0:67 / /dev/pts rw,relatime - devpts devpts rw,gid=5,mode=
>     620,ptmxmode=
>     > 666
>     > 74 131 0:67 /ptmx /dev/ptmx rw,relatime - devpts devpts rw,gid=5,mode=
>     > 620,ptmxmode=666
>     > 75 133 0:68 / /sys/fs/cgroup rw,relatime - tmpfs none rw,size=4k,mode=755
>     > 76 131 0:69 / /run rw,nosuid,noexec,relatime - tmpfs none rw,size=
>     49484k,mode=
>     > 755
>     > 77 76 0:70 / /run/lock rw,nosuid,nodev,noexec,relatime - tmpfs none
>     rw,size=
>     > 5120k
>     > 78 76 0:71 / /run/shm rw,nosuid,nodev,relatime - tmpfs none rw
>     > 79 76 0:72 / /run/user rw,nosuid,nodev,noexec,relatime - tmpfs none
>     rw,size=
>     > 102400k,mode=755
>     >
>     > with reference to https://help.ubuntu.com/lts/serverguide/lxc.html#
>     > lxc-installation I stopped and started container with with this..
>     >
>     > #lxc-start -n test-container -f /var/lib/lxc/test-container/config
>     > heres what /var/lib/lxc/test-container/config looks like.
>     > #cat config
>     >
>     > lxc.console = none
>     > lxc.network.type = veth
>     > lxc.network.hwaddr = 00:16:3e:b3:f5:95
>     > lxc.network.flags = up
>     > lxc.network.link = lxcbr0
>     > lxc.rootfs = /var/lib/lxc/test-container/rootfs
>     > lxc.mount = /var/lib/lxc/test-container/fstab
>     > lxc.pivotdir = lxc_putold
>     > lxc.devttydir = lxc
>     > lxc.tty = 0
>     > lxc.pts = 1024
>     > lxc.utsname = test-containerq
>     > lxc.arch = amd64
>     > lxc.cap.drop = sys_module mac_admin mac_override sys_time
>     > lxc.cgroup.memory.limit_in_bytes = 1994M
>     >
>     > lxc.cgroup.devices.deny = a
>     > lxc.cgroup.devices.allow = c *:* m
>     > lxc.cgroup.devices.allow = b *:* m
>     > lxc.cgroup.devices.allow = c 1:3 rwm
>     > lxc.cgroup.devices.allow = c 1:5 rwm
>     > lxc.cgroup.devices.allow = c 5:1 rwm
> 
>     This line allows to use /dev/console. Could you try to remove it and dump
>     CT?
> 
>     > lxc.cgroup.devices.allow = c 5:0 rwm
>     > lxc.cgroup.devices.allow = c 1:9 rwm
>     > lxc.cgroup.devices.allow = c 1:8 rwm
>     > lxc.cgroup.devices.allow = c 136:* rwm
>     > lxc.cgroup.devices.allow = c 5:2 rwm
>     > lxc.cgroup.devices.allow = c 254:0 rm
>     > lxc.cgroup.devices.allow = c 10:229 rwm
>     > lxc.cgroup.devices.allow = c 10:200 rwm
>     > lxc.cgroup.devices.allow = c 1:7 rwm
>     > lxc.cgroup.devices.allow = c 10:228 rwm
>     > lxc.cgroup.devices.allow = c 10:232 rwm
>     >
>     >
>     > Below is my kernel config
>     >
>     > #vim /boot/config-3.11.0-12-generic
>     > ...
>     > ,,,,
>     > ...
>     > # Character devices
>     > #
>     > CONFIG_TTY=y
>     > CONFIG_VT=y
>     > CONFIG_CONSOLE_TRANSLATIONS=y
>     > CONFIG_VT_CONSOLE=y
>     > CONFIG_VT_CONSOLE_SLEEP=y
>     > CONFIG_HW_CONSOLE=y
>     > CONFIG_VT_HW_CONSOLE_BINDING=y
>     > CONFIG_UNIX98_PTYS=y
>     > CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
>     > CONFIG_LEGACY_PTYS=y
>     > CONFIG_LEGACY_PTY_COUNT=0
>     > CONFIG_SERIAL_NONSTANDARD=y
>     > CONFIG_ROCKETPORT=m
>     > CONFIG_CYCLADES=m
>     > ....
>     > ...
>     >
>     > Thankyou gentlemen
>     >
>     >
>     >
>     > On Tue, Feb 11, 2014 at 7:02 PM, Andrew Vagin <avagin at parallels.com>
>     wrote:
>     >
>     >     On Tue, Feb 11, 2014 at 04:47:34PM +0400, Cyrill Gorcunov wrote:
>     >     > On Tue, Feb 11, 2014 at 04:26:09PM +0400, Cyrill Gorcunov wrote:
>     >     > > On Tue, Feb 11, 2014 at 05:32:46PM +0545, Urgen Sherpa wrote:
>     >     > > >    /usr/lib/locale/C.UTF-8/LC_CTYPE (path inode=2883985)
>     >     > > >    getty   2700 root    0u   CHR    5,1      0t0  937203 /dev/
>     console
>     >     > > >    getty   2700 root    1u   CHR    5,1      0t0  937203 /dev/
>     console
>     >     > > >    getty   2700 root    2u   CHR    5,1      0t0  937203 /dev/
>     console
>     >     > >
>     >     > > Aha! So we're trying to dump /dev/console. I guess it's VT
>     terminal,
>     >     > > which has no "fetch index" operation. Need to think how to
>     resolve it,
>     >     > > thanks for report!
>     >     >
>     >     > Urgen, are you sure that you've set lxc.console = none and lxc.tty
>     = 0 ?
>     >     > The presense of /dev/console here with getty over it makes me thing
>     >     > that lcx either not read your config, or you need to restart lcx
>     >     container
>     >     > probably.
>     >
>     >     Probaly this CT uses devtmpfs, which isn't virtualized.
>     >
>     >     # cat /proc/pid/mountinfo
>     >
>     >     Which processes in CT have opened /dev/console?
>     >
>     >     >
>     >     > Also, do you have
>     >     >
>     >     > CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
>     >     >
>     >     > in your kernel config?
>     >     >
>     >     >       Cyrill
>     >
>     >
> 
> 


More information about the CRIU mailing list