[CRIU] BUG: CRIU corrupt floating point state after checkpoint

Cyrill Gorcunov gorcunov at gmail.com
Tue Oct 1 09:56:30 MSK 2019


On Mon, Sep 30, 2019 at 03:43:43PM -0700, Diyu Zhou wrote:
> The problem indeed goes away.
> 
> Do you have any insight why the corruption goes? As far as I can tell, the only
> two bugs in the original code is the calloc and the thread worker function does
> not return. After I have fixed these two bugs, with the original code,
> the corruption is still there.

Not only these:

 - we should use explicit pid, not something we got from `ps` output
   (hell knows, which exactly process otherwise is being seized)

 - we should use barriers with threads, to make them working
   syncronically. Strictly speaking pthread_create/join should
   be like a sync points on their own but better to be on safe side

Anyway could you please add at least "pidfile" option (from the
code I've sent you) to your source code and check if it does
matter (don't forget to update duming shell script to use
explicit pid from a file)?


More information about the CRIU mailing list