[CRIU] BUG: CRIU corrupt floating point state after checkpoint
Cyrill Gorcunov
gorcunov at gmail.com
Wed Sep 25 21:23:23 MSK 2019
On Wed, Sep 25, 2019 at 09:24:11AM -0700, Diyu Zhou wrote:
> I think in the CRIU code, the fpu frame saving and restoring is only performed
> for the main thread. Other threads do not do that and thus cause the corruption.
>
> I did a few experiment with the CRIU code. I'm confident the floating
> point corruption occurs inside the function parasite_dump_thread_seized
> in criu/parasite-syscall.c. Specifically, I suspect the parasite code run
> by compel_run_in_thread(tctl, PARASITE_CMD_DUMP_THREAD) causes the floating
> point corruption. I added a return 0; before that function and the
> floating point corruption does not occur anymore.
Great, thanks! So you've narrowed down the bug. Will take a look, thanks!
More information about the CRIU
mailing list