Changes

667 bytes added ,  14:12, 31 December 2014
no edit summary
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.
+
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.
 +
 
 +
One is to restore the images into a separate pid namespace. This can be done by using the <code>unshare -p --fork</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.
 +
 
 +
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.
 +
 
 +
Another solution to PID mismatch, not correct, but still, is in killing the offending task :)