Florian,

----- Ursprüngliche Mail -----
> Von: "Florian Bezdeka" <[email protected]>
> it seems that I'm able to reproduce a register (or stack) corruption on
> x86.
> 
> The problem does not appear when running the Xenomai testsuite
> (especially switchtest) without any additional load. Stressing Linux
> with stress-ng makes the test fail.
> 
> Kernel: 4.19.231-cip68
> Xenomai: 3.2.1
> Hardware:
> - Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz
> - 32 cores
> stress-ng cmdline:
> stress-ng --cpu 16 --io 8 --vm 4 --vm-bytes 128M --fork 8
> 
> Any ideas how to debug that? Any additional config options that
> could/should be enabled?

Do you have CONFIG_VMAP_STACK enabled?
A vmalloc()'ed stack often helps catching the overwriter itself.
In my case so far it did not, though.
 
> Any advice is welcome...
> 
> Adding Richard to CC, he mentioned some undiscovered possible stack
> corruption as well. As registers are stored on the stack, there might
> be a pattern.
> 
> dmesg (from one xeno-test run):
> [  184.461138] sched: RT throttling activated
> [  250.243970] arch/x86/xenomai/ipipe/include/asm/xenomai/fptest.h:43: 
> Warning:
> Linux is compiled to use FPU in kernel-s.
> [  250.243970] For this reason, switchtest can not test using FPU in Linux
> kernel-space.
> [  250.244148] r1: 2147483648 != 5

Is it always 0x80000000?

Who's registers are overridden? In my case always the registers of kernel side 
of the
realtime userspace thread.

Thanks,
//richard

Reply via email to