<div dir="ltr">Yup, ttys are painful :(  I&#39;ll dig deeper too and check back with you.  Please let me know if you need instructions to reproduce the problem.<div><br></div><div>--Saied</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 10, 2015 at 12:29 PM, Cyrill Gorcunov <span dir="ltr">&lt;<a href="mailto:gorcunov@gmail.com" target="_blank">gorcunov@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Tue, Mar 10, 2015 at 12:06:58PM -0700, Saied Kazemi wrote:<br>
&gt;    Thanks for your quick reply Cyrill.  You&#39;re right, the --shell-job flag<br>
&gt;    was missing in the nsinit version I was using.  Dump succeeds now but<br>
&gt;    restore still fails with different errors.<br>
&gt;    $ /home/saied/work/crtools/criu --version<br>
&gt;    Version: 1.5<br>
&gt;    GitID: ad6e9b9<br>
&gt;    With --shell-job:<br>
&gt;    $ sudo nsinit -criu /home/saied/work/crtools/criu restore<br>
&gt;    &gt;&gt;&gt; Restore(): []string{&quot;restore&quot;, &quot;-v4&quot;, &quot;-D&quot;, &quot;nsinit/checkpoint&quot;, &quot;-o&quot;,<br>
&gt;    &quot;restore.log&quot;, &quot;--root&quot;, &quot;/home/saied/work/busybox&quot;, &quot;--manage-cgroups&quot;,<br>
&gt;    &quot;--evasive-devices&quot;, &quot;--shell-job&quot;}<br>
&gt;    exit status 1: <br>
&gt;    $ sudo grep Error nsinit/checkpoint/restore.log<br>
&gt;    (00.000645) Error (tty.c:1584): tty: Standard stream is not a terminal,<br>
&gt;    aborting<br>
&gt;    $ <br>
&gt;    Without --shell-job:<br>
&gt;    $ sudo nsinit -criu /home/saied/work/crtools/criu restore<br>
&gt;    &gt;&gt;&gt; Restore(): []string{&quot;restore&quot;, &quot;-v4&quot;, &quot;-D&quot;, &quot;nsinit/checkpoint&quot;, &quot;-o&quot;,<br>
&gt;    &quot;restore.log&quot;, &quot;--root&quot;, &quot;/home/saied/work/busybox&quot;, &quot;--manage-cgroups&quot;,<br>
&gt;    &quot;--evasive-devices&quot;}<br>
&gt;    exit status 1: <br>
&gt;    $ sudo grep Error nsinit/checkpoint/restore.log<br>
&gt;    (00.051530)      1: Error (tty.c:335): tty: Found slave peer index 7<br>
&gt;    without correspond master peer<br>
&gt;    (00.051590) Error (cr-restore.c:1860): Restoring FAILED.<br>
&gt;    $ <br>
&gt;    I also get the same error even when I add --ext-mount-map<br>
&gt;    /dev/console:/dev/console on dump and --ext-mount-map<br>
&gt;    /dev/console:/dev/pts/7 on restore.<br>
&gt;    With --shell-job and --ext-mount-map:<br>
&gt;    $ sudo nsinit -criu /home/saied/work/crtools/criu restore<br>
&gt;    &gt;&gt;&gt; Restore(): []string{&quot;restore&quot;, &quot;-v4&quot;, &quot;-D&quot;, &quot;nsinit/checkpoint&quot;, &quot;-o&quot;,<br>
&gt;    &quot;restore.log&quot;, &quot;--root&quot;, &quot;/home/saied/work/busybox&quot;, &quot;--manage-cgroups&quot;,<br>
&gt;    &quot;--evasive-devices&quot;, &quot;--ext-mount-map&quot;, &quot;/dev/console:/dev/pts/7&quot;}<br>
&gt;    exit status 1: <br>
&gt;    $ sudo grep Error nsinit/checkpoint/restore.log<br>
&gt;    (00.044778)      1: Error (tty.c:335): tty: Found slave peer index 7<br>
&gt;    without correspond master peer<br>
&gt;    (00.044821) Error (cr-restore.c:1860): Restoring FAILED.<br>
&gt;    $ <br>
&gt;    Sorry if I am missing something obvious.<br>
<br>
</div></div>IIRC, we&#39;ve had something similar before -- ie the CRIU on restore<br>
tries to grab stdin<br>
<br>
int tty_prep_fds(void)<br>
{<br>
        if (!opts.shell_job)<br>
                return 0;<br>
<br>
        if (!isatty(STDIN_FILENO)) {<br>
                pr_err(&quot;Standard stream is not a terminal, aborting\n&quot;);<br>
                return -1;<br>
        }<br>
...<br>
}<br>
<br>
which we might need to inherit terminals if --shell-job option is passed.<br>
But the restore envinronment you&#39;re running criu in has stdin pointing<br>
to something different but tty so we abort.<br>
<br>
Pavel, do you remember anything about it? I&#39;ve a vague memory that<br>
we have met this problem before...<br>
<br>
As to &quot;Found slave peer index 7 ithout correspond master peer&quot; it&#39;s beause<br>
we don&#39;t know how to restore the master peer, it&#39;s not in image and we&#39;re<br>
not inheriting terminal. (sigh, ttys are always such a painfull thing :)<br>
<br>
If some idea pop up I&#39;ll ping you.<br>
</blockquote></div><br></div>