[CRIU] CRIU and travis (aarch64)
Adrian Reber
adrian at lisas.de
Wed Oct 30 01:05:52 MSK 2019
On Tue, Oct 29, 2019 at 10:08:53PM +0100, Adrian Reber wrote:
> On Tue, Oct 29, 2019 at 10:01:40AM -0700, Andrei Vagin wrote:
> > Hi Adrian,
> >
> > On Tue, Oct 29, 2019 at 9:26 AM Adrian Reber <adrian at lisas.de> wrote:
> > >
> > > I just tried to switch CRIU to use the native aarch64 support on Travis
> > > and it failed with:
> >
> > I was playing with this too:
> > https://travis-ci.org/avagin/criu/jobs/594911849
>
> Ha, that looks more or less just the same to my changes.
>
> > but I don't have time to complete this, so it would be nice if you
> > will be able to send patches:
>
> I can try to look more into it, no problem.
>
> > > + [ -f ]
> > > + umask 0000
> > > + ./criu/criu check
> > > Error (criu/cr-check.c:512): /proc/sys/kernel/sem_next_id is inaccessible: Permission denied
> > >
> > > As I have been told this is related to the fact that Travis uses
> > > unprivileged LXD containers to distribute jobs to aarch64. As I
> > > understand it this makes it probably not possible for us to use Travis's
> > > native aarch64 support.
> > >
> > > Let me know if anyone has an idea if this can be solved somehow.
> >
> > We can try to dump and restore env00 as regular user:
> > zdtm.py run zdtm/static/env00 --user
>
> Let me try that. Thanks.
That fails on aarch64 with:
+ ./test/zdtm.py run -t zdtm/static/env00 -k always --user
make[1]: Entering directory '/home/travis/build/adrianreber/criu/test'
ccache gcc -D_GNU_SOURCE umount2.c -o umount2
make[1]: Leaving directory '/home/travis/build/adrianreber/criu/test'
make[1]: Entering directory '/home/travis/build/adrianreber/criu/test'
ccache gcc -D_GNU_SOURCE zdtm_ct.c -o zdtm_ct
make[1]: Leaving directory '/home/travis/build/adrianreber/criu/test'
mount: permission denied
Traceback (most recent call last):
File "./test/zdtm.py", line 2560, in <module>
tst.available()
File "./test/zdtm.py", line 602, in available
["flock", "zdtm_mount_cgroups.lock", "./zdtm_mount_cgroups"])
File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '[u'flock', u'zdtm_mount_cgroups.lock', u'./zdtm_mount_cgroups']' returned non-zero exit status 1
and on baremetal x86_64 it also fails:
(00.009123) ========================================
(00.009132) Error (criu/util.c:1343): rlimit: Can't setup RLIMIT_NOFILE for self: Operation not permitted
(00.009625) cg: `- [perf_event] -> [/] [0]
(00.009627) cg: `- [pids] -> [/user.slice/user-2000.slice] [0]
(00.009629) cg: `- [rdma] -> [/] [0]
(00.009631) cg: Set 1 is criu one
(00.009668) Warn (compel/src/lib/infect.c:127): Unable to interrupt task: 38 (Operation not permitted)
(00.009674) Unlock network
(00.009678) Unfreezing tasks into 1
(00.009680) Unseizing 38 into 1
(00.009683) Error (compel/src/lib/infect.c:342): Unable to detach from 38: No such process
(00.009691) Error (criu/cr-dump.c:1763): Dumping FAILED.
On aarch64 it is also not possible to run criu cpuinfo dump/check.
See https://travis-ci.org/adrianreber/criu/builds/604684809
So building, like we do right now, is possible, but not much more.
Adrian
More information about the CRIU
mailing list