ymmh values zeroed on signal return
The app's ymmh values are being zeroed out somewhere between handle_sigreturn and post-sigreturn dispatch. In a proprietary app I am observing this with custom diagnostics:
signal interruption sigcontext:
xmm1=0x3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e
mcontext pre-delivery:
zmm1=0x3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e0000000000000000000000000000000000000000000000000000000000000000
about to sigreturn to this sigcontext:
xmm1=0x3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e3f7fe40e
resuming 0x000000004b818f40 post-sigreturn:
zmm1=0x3f7fe40e3f7fe40e3f7fe40e3f7fe40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
It leads to a crash.
Augmenting api.state_detach to test ymmh (unfortunately I bailed on that when first writing it) we see the same problem on detach:
$ ctest -V -R detach_state
293: Test timeout computed to be: 1500
293: ERROR: detach changed ymmh0.hi from 0x1122334455667788 to 0x0
293: ERROR: detach changed ymmh0.lo from 0x11223344556677 to 0x0
293: ERROR: detach changed ymmh0.hi from 0x1122334455667788 to 0x0
293: ERROR: detach changed ymmh0.lo from 0x11223344556677 to 0x0
293: all done
1/1 Test #293: code_api|api.detach_state ........***Failed Required regular expression not found.Regex=[^all done