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

Cyrill Gorcunov gorcunov at gmail.com
Fri Sep 27 10:52:10 MSK 2019


jfyi, lm working on the issue. once i manage to narrow down the real cause
of it, will ping you.

On Wed, Sep 25, 2019, 22:55 Diyu Zhou <zhoudiyupku at gmail.com> wrote:

> You are welcome. Thank you all for your help and the wonderful tool: CRIU
> you
> have created!
>
> On Wed, Sep 25, 2019 at 11:23 AM Cyrill Gorcunov <gorcunov at gmail.com>
> wrote:
> >
> > 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!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20190927/c7164720/attachment-0001.html>


More information about the CRIU mailing list