strange decoder and other test failures in some x86-64 GA CI runs
One x86-64 run in PR #5723 (which changes just a few bbdup asm test files and so should not affect anything else) suddenly had 4 failures. They went away on a re-run.
The decoding ones are weird:
https://github.com/DynamoRIO/dynamorio/actions/runs/3430785437/jobs/5718556145
385/434 Test #386: code_api|api.dis .............................................***Failed 0.07 sec
-- diff: 1301c1301
< +0x0c7d 66 72 79 jb 0x0000000000000cf9
---
> +0x0c7d 66 72 79 jb 0x0000000010000cf9
1968c1968
< +0x1322 66 7c f6 jl 0x000000000000131b
---
> +0x1322 66 7c f6 jl 0x000000001000131b
2426c2426
< +0x17ea 4c ff 69 f6 jmp fword ptr [rcx-0x0a]
---
> +0x17ea 4c ff 69 f6 jmp tbyte ptr [rcx-0x0a]
2995c2995
< +0x1d87 66 77 39 jnbe 0x0000000000001dc3
---
> +0x1d87 66 77 39 jnbe 0x0000000010001dc3
CMake Error at /home/runner/work/dynamorio/dynamorio/suite/tests/runcmp.cmake:86 (message):
output in
/home/runner/work/dynamorio/dynamorio/build_debug-internal-64/suite/tests/dis-x64.expect-out
failed to match expected output in
/home/runner/work/dynamorio/dynamorio/build_debug-internal-64/suite/tests/dis-x64.expect-expect
171/434 Test #169: code_api|client.attach_test ..................................***Failed Required regular expression not found. Regex=[^starting
thank you for testing attach
thread init
event_post_attach
done
$
] 0.24 sec
CMake Error at /home/runner/work/dynamorio/dynamorio/suite/tests/runall.cmake:124 (message):
*** kill failed (1): kill: (23301): No such process
393/434 Test #394: code_api|decenc.drdecode_decenc_x86_64 .......................***Failed 1.09 sec
-- diff: 6581,6584c6581,6583
< 66 e9 00 00 data16 jmp $0x0000000000007b3f
< 89 c3 mov %eax, %ebx
< 66 e8 00 00 data16 call $0x0000000000007b45
< 66 e9 00 00 data16 jmp $0x0000000000007b49
---
> 66 e9 00 00 89 c3 data16 jmp $0xffffffffd3897b41
> 66 e8 00 00 66 e9 data16 call $0xfffffffff9667b47
> 00 00 add %al, (%rax)
6586,6590c6585,6589
< 66 e8 00 00 data16 call $0x0000000000007b4f
< 66 ff d0 data16 call %ax
< 66 ff 10 data16 call (%rax)
< 66 ff e0 data16 jmp %ax
< 66 ff e0 data16 jmp %ax
---
> 66 e8 00 00 66 ff data16 call $0x000000000f667b51
> d0 66 ff shlb $0x01, -0x01(%rsi)
> 10 66 ff adc %ah, -0x01(%rsi)
> e0 66 loopne $0x0000000010007bbf
> ff e0 jmp %rax
26/434 Test #23: code_api|common.floatpc_xl8all ...............................***Failed Required regular expression not found. Regex=[^FXSAVE64 intra is correctly handled
FXSAVE64 inter is correctly handled
FXSAVE intra is correctly handled
FXSAVE inter is correctly handled
$
] 0.21 sec
FXSAVE64 intra is correctly handled
FXSAVE64 inter is **incorrectly** handled
FXSAVE intra is correctly handled
FXSAVE inter is **incorrectly** handled