[CRIU] CRIU broken on s390x (rhel)
Michael Holzheu
holzheu at linux.vnet.ibm.com
Wed Sep 6 18:16:29 MSK 2017
On Wed, 6 Sep 2017 12:04:30 +0300
Mike Rapoport <rppt at linux.vnet.ibm.com> wrote:
> (adding Michael)
>
> On Tue, Sep 05, 2017 at 05:51:34PM +0200, Adrian Reber wrote:
> > On Tue, Sep 05, 2017 at 01:02:12PM +0200, Adrian Reber wrote:
> > > On my s390x RHEL system criu fails since the following commit:
> > >
> > > commit ac200854af4730a0f4b1e1e2da4878593c10277a
> > > Author: Mike Rapoport <rppt at linux.vnet.ibm.com>
> > > Date: Tue Aug 15 09:23:49 2017 +0300
> > >
> > > kdat: move kerndat initialization to the very beginning
> > >
> > > With kdat cache and unified kerndat_init() we can call it very early in
> > > crtools and then kdat information will be available for all cr-* actions.
> > >
> > > Signed-off-by: Mike Rapoport <rppt at linux.vnet.ibm.com>
> > > Signed-off-by: Pavel Emelyanov <xemul at virtuozzo.com>
> > >
> > > With:
> > >
> > > # criu/criu check
> > > Warn (criu/kerndat.c:805): Can't load /run/criu.kdat
> > > Warn (criu/net.c:2726): Unable to get a socket network namespace
> > > Error (criu/uffd.c:221): uffd: Lazy pages are not available: Function not implemented
> > > Error (criu/pie-util-vdso.c:97): vdso: ELF header magic mismatch
> > > Error (criu/vdso.c:614): vdso: Failed to fill self vdso symtable
> > >
> > > Without that commit I only get 'Looks good.'
> >
> > Mike said that this should be fixed with
> > 7d0e945584203a17ec0e1356bf9c873881893caf (kerndat: set uffd features to
> > 0 before querying kernel), but I still get the same error on s390x if I
> > update to today's latest git:
>
> That should have fixed the uffd part and I fail to see why it is still
> unhappy about it...
>
> Does uffd show up as available before my recent changes to criu/cr-check.c?
> Say, before the commit cb918051cc (cr-check: use two features to verify
> userfaultfd availability)?
>
> After the commit ac200854a (kdat: move kerndat initialization to the very
> beginning) 'criu check' performs the complete kdat initialization. As far
> as I can tell, this adds several more checks that were not a part of 'criu
> check' beforehand. Maybe this is causing some unexpected troubles on s390?
On my s390 Ubuntu 16.04 system I get the following:
$ git show ac200854af4730a0f4b1e1e2da4878593c10277a
commit ac200854af4730a0f4b1e1e2da4878593c10277a
Author: Mike Rapoport <rppt at linux.vnet.ibm.com>
Date: Tue Aug 15 09:23:49 2017 +0300
kdat: move kerndat initialization to the very beginning
$ git checkout -b test ac200854af4730a0f4b1e1e2da4878593c10277a
Switched to a new branch 'test'
$ make
$ root at r3545010~/criu (test)# criu/criu check
Warn (criu/kerndat.c:820): Stale /run/criu.kdat file
Warn (criu/net.c:2726): Unable to get a socket network namespace
Looks good.
$ rm /run/criu.kdat
$ criu/criu check
Warn (criu/kerndat.c:805): Can't load /run/criu.kdat
Warn (criu/net.c:2726): Unable to get a socket network namespace
Looks good.
$ uname -a
Linux r3545010 4.8.0-53-generic #56~16.04.1-Ubuntu SMP Tue May 16 01:14:39 UTC 2017 s390x s390x s390x GNU/Linux
Regards,
Michael
More information about the CRIU
mailing list