[CRIU] CRIU broken on s390x (rhel)
Adrian Reber
adrian at lisas.de
Wed Sep 6 18:33:39 MSK 2017
On Wed, Sep 06, 2017 at 05:16:29PM +0200, Michael Holzheu wrote:
> 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
So... All is working again. I am not sure what the problems were. I saw
so many different problems and suddenly everything is back to normal.
So not sure what it was. Sorry for the noise.
Adrian
More information about the CRIU
mailing list