ASSERT core/unix/signal.c:4690 (YMM_ENABLED() && ucxt->uc_mcsize...)
Quite recently we've seen this new assert appear on Travis Mac (with no email notification: grrrr #3031 (closed)):
23/51 Test #84: code_api|client.crashmsg .....................***Failed Required regular expression not found.Regex=[^<Application .*simple_app.*. My Fancy Tool internal crash at PC 0x.*. Please report this at http:\/\/myfancytool.com/bugtracker. Program aborted.
.*
$
] 0.11 sec
<Application /Users/travis/build/DynamoRIO/dynamorio/build_debug-internal-32/suite/tests/bin/simple_app (10655). Internal Error: DynamoRIO debug check failure: /Users/travis/build/DynamoRIO/dynamorio/core/unix/signal.c:4690 (YMM_ENABLED() && ucxt->uc_mcsize == sizeof(_STRUCT_MCONTEXT_AVX32)) || (!YMM_ENABLED() && ucxt->uc_mcsize == sizeof(_STRUCT_MCONTEXT))
(Error occurred @0 frags)
version 7.0.17744, custom build
-no_dynamic_options -client_lib '/Users/travis/build/DynamoRIO/dynamorio/build_debug-internal-32/suite/tests/bin/libclient.crashmsg.dll.dylib;0;' -code_api -stderr_mask 12 -stack_size 56K -signal_stack_size 32K -max_elide_jmp 0 -max_elide_call 0 -no_inline_ignored_syscalls -native_exec_default_list '' -no_native_exec_man
0x4cfcc398 0x0035109a
0x4cfcc618 0x006b36e1
0x4cfccc48 0x0065f0f2
0x4cfb0fb8 0x00526acf
0x4cfb10a8 0x00622ed4
0x4cfb12f8 0x005f0e71
0x4cfb1c78 0x005f9e00
0x4cfb1e98 0x003047f3
0x4cfb1fe8 0x0065ee6e
0xbffe9b08 0x001a16e6
0xbffe9b98 0x0065ef94
0xbffe9d28 0x000fc538
0xbffe9d58 0x000e621a
0xbffe9d88 0x000fc4c5
0xbffe9df8 0x000fc8e1>
It's happening in a lot of tests:
debug-internal-32: 40 tests passed, **** 11 tests failed, but ignoring 0 for i#2941: ****
code_api|common.decode-bad
code_api|linux.signal0000
code_api|linux.signal0010
code_api|linux.signal0100
code_api|linux.signal0110
code_api|linux.sigaction
code_api|security-common.codemod
code_api|client.crashmsg
code_api|client.exception
code_api|client.timer
code_api|sample.signal
It seems to have first shown up with 3e40b61f which is Windows-only so it shouldn't be a regression but rather some change on the machine? It seems non-deterministic.