Bug report: a process restored with criu crashes on SIGFPE

Submitted by Cyrill Gorcunov on Jan. 29, 2018, 10:21 p.m.

Details

Message ID 20180129222123.GA2002@uranus.lan
State New
Series "Bug report: a process restored with criu crashes on SIGFPE"
Headers show

Commit Message

Cyrill Gorcunov Jan. 29, 2018, 10:21 p.m.
On Mon, Jan 29, 2018 at 02:45:02PM +0200, Shlomi Matichin wrote:
>    hello andrei and dimitry,
>    (dimitry, thats a cool email address).
>    so i started creating a VM for you guys to reproduce the bug, and found
>    out it works great on t2.large aws instances - but crashes consistently on
>    c5.large aws instances, which i think explains why you couldn't reproduce
>    it...
>    dimitry's test fails on the c5.large, and succeeds on the t2.large (rest
>    of the tests you requested, pass on both). output attached. (i had to add
>    sudo and change protobuf-python -> python protobuf).
>    pypy crashes after restore on my personal laptop as well, but unfortunatly
>    the tests didn't run on my laptop, output exception and cpuinfo also
>    attached.
>    i'm creating a VM for you guys on AWS with a c5.large instance type to
>    work on, will send connection details later on a private email.
>    i'm using the following ami, at eu-west-1 aws region
>    "ami-0741d47e" #
>    ubuntu/images/hvm-ssd/ubuntu-artful-17.10-amd64-server-20180102
>    i'll also finish writing a script to reproduce the issue, and will send
>    you the instructions in that email.
>    thanks you very much,
>    Shlomi.

Shlomi, could you please run the patch below?
---

Patch hide | download patch | download mbox

diff --git a/compel/arch/x86/src/lib/include/uapi/asm/fpu.h b/compel/arch/x86/src/lib/include/uapi/asm/fpu.h
index f60112b9ba50..97aeff1e711b 100644
--- a/compel/arch/x86/src/lib/include/uapi/asm/fpu.h
+++ b/compel/arch/x86/src/lib/include/uapi/asm/fpu.h
@@ -96,7 +96,7 @@  typedef struct {
 
 	union {
 		struct xsave_struct	xsave;
-		uint8_t			__pad[sizeof(struct xsave_struct) + FP_XSTATE_MAGIC2_SIZE];
+		uint8_t			__pad[4096];
 	};
 
 	uint8_t has_fpu;