Changes

Jump to navigation Jump to search
14 bytes added ,  02:37, 4 November 2016
some English rephrasing
Line 3: Line 3:  
== PID mismatch on restore ==
 
== PID mismatch on restore ==
   −
If you see one of these lines in failed restore logs
+
If you see one of these lines in the failed restore logs
    
<pre>
 
<pre>
Line 12: Line 12:  
</pre>
 
</pre>
   −
this means that while restoring a process tree CRIU has failed to recreate a process or a thread with the PID (TID) value it used to have on dump. This most likely is due to the PID/TID value in question being busy with some other task or thread. There are several possible solutions to this.
+
this means that while restoring a process tree, CRIU has failed to recreate a process (or a thread) with the PID (TID) value the proceess (thread) used to have on dump. Most likely, this is because the desired PID/TID is used by other task or thread. There are several possible solutions to this.
   −
=== Restore "by hands" ===
+
=== Restore "by hand" ===
One is to restore the images into a separate pid namespace. This can be done by using the <code>unshare -p -m --fork --mount-proc</code> command and then doing the restore. In this case you might also want to unshare the mount namespace and re-mount the /proc so that the restored tasks can use it. This method effectively means restoring tasks in container.
+
One way is to restore the images into a separate pid namespace. This can be done by using the <code>unshare -p -m --fork --mount-proc</code> command and then doing the restore. In this case, you might also want to unshare the mount namespace and re-mount the /proc, so that the restored tasks can use it. This method effectively means restoring tasks in a container.
   −
Having said the above, the most correct way to handle this is to run the tasks you plan to checkpoint in the pid namespace (with /proc tune-up if required) from the very beginning.
+
Note, however, that them most correct way is to run the tasks you plan to checkpoint in the pid namespace (with /proc tune-up if required) from the very beginning.
    
=== Kill the obstacle ===
 
=== Kill the obstacle ===
Another solution to PID mismatch, not correct, but still, is in killing the offending task :)
+
Another solution to PID mismatch, which is not correct, but still efficient, is to kill the offending task :)
    
=== With CRIU help ===
 
=== With CRIU help ===
62

edits

Navigation menu