[CRIU] criu_restore() in Open MPI problems

Andrew Vagin avagin at parallels.com
Wed Mar 19 01:19:44 PDT 2014


On Tue, Mar 18, 2014 at 10:42:41PM +0400, Cyrill Gorcunov wrote:
> On Tue, Mar 18, 2014 at 07:22:55PM +0100, Adrian Reber wrote:
> > On Tue, Mar 18, 2014 at 09:15:04PM +0400, Cyrill Gorcunov wrote:
> > > On Tue, Mar 18, 2014 at 06:03:18PM +0100, Adrian Reber wrote:
> > > > Now that dumping works from Open MPII am trying to restore.
> > > > Right now it fails with:
> > > > 
> > > > (00.000119) TCP queue memory limits are 2097152:3145728
> > > > (00.000303) cpu: fpu:1 fxsr:1 xsave:1
> > > > (00.000399) vdso: Parsing at 7fff84c27000 7fff84c29000
> > > > (00.000407) vdso: Base address ffffffffff700000
> > > > (00.000440) Reading image tree
> > > > (00.000468) Migrating process tree (GID 25983->29676 SID 9042->29676)
> > > > (00.000475) Will restore in 0 namespaces
> > > > (00.000479) NS mask to use 0
> > > > (00.000487) Collecting 41/21 (flags 0)
> > > > (00.000514)  `- ... done
> > > > (00.000520) Error (tty.c:1213): tty: Standard stream is not a terminal, aborting
> > > > 
> > > > I am not sure what this really means, but I suspect it has to do
> > > > something with dumping with criu_set_shell_job(true) and restoring from
> > > > inside a program instead of the command line. Running the command line
> > > > tool instead of the criu_restore() works much better but fails in the
> > > > end with:
> > > 
> > > Have you been dumping with --shell_job option? If yes, would it do the
> > > trick without this option?
> > 
> > Yes, I dumped with the shell_job option. Without shell_job it does not dump:
> > 
> > Error (pstree.c:196): The root process 26660 is not a session leader.  Consider using --shell-job option
> 
> Heh ;-) Could you please show ls -l /proc/<pid>/fd where <pid> is the pid of a process
> you're dumping (and also try dump with -v4 --shell-job and show complete dump log).

Steps to reproduce:
sleep 1000 &> /dev/null < /dev/null &
./criu dump -t $! -D tmp --shell-job
./criu restore -D tmp -o r.log --shell-job < /dev/null &> /dev/null

shell-job tries to find a current terminal even if it is not required
for restore.

> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu


More information about the CRIU mailing list