-
Notifications
You must be signed in to change notification settings - Fork 561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AVX-512 handling breaks DynamoRIO execution on Windows with full AVX-512 support #3949
Comments
May have been hit in #3923 also. |
Unfortunately we do not have much Windows automated testing capacity. Help is wanted augmenting that. |
What exactly would you need? |
Cycles somewhere on Windows with AVX-512 hooked up to Jenkins to run the test suite on pull requests would be ideal. Today we have Appveyor for CI but at least its default does not have AVX-512. |
…IX and 32-bit. As pointed out in cf1ec32, AVX-512 context management by DynamoRIO is not fully supported or untested on non-UNIX as well as on 32-bit builds. Yet processor detection and certain AVX-512 functionality was enabled on those builds when running on machines with AVX-512 support enabled by the OS. This was causing problems (xref #3949). This patch completely disables all AVX-512 features on unsupported and untested builds. Fixes #3949 Issue: #1312
Please read All non-UNIX 64-bit builds are essentially either not tested or known to be unsupported yet. So far parts of DynamoRIO's code for AVX-512 were active even for those unsupported builds. We are disabling this temporarily in order to get a stable Windows build on AVX-512 machines as pointed out in this issue. Contributions to get full support in Windows would be greatly appreciated! |
…IX and 32-bit. (#3954) As pointed out in cf1ec32, AVX-512 context management by DynamoRIO is not fully supported or is untested on non-UNIX as well as on 32-bit builds. Yet processor detection and certain AVX-512 functionality was enabled on those builds when running on machines with AVX-512 support enabled by the OS. This was causing problems (xref #3949). For now, this patch completely disables all AVX-512 features on unsupported and untested builds. Fixes #3949 Issue: #1312
Thank you for reporting the bug. It should be fixed in the cronbuild at https://github.com/DynamoRIO/dynamorio/releases/tag/cronbuild-7.91.18219 |
Thanks for the quick fix. I can confirm that the latest cronbuild works on my AVX512 system (with and without client). |
Describe the bug
Execution of any application under DynamoRIO is impossible in the following scenario:
avx512_enabled
is set to true in proc.c)dynamorio/core/arch/x86/proc.c
Line 437 in cf1ec32
Note: This behavior appears with and w/o client and is deterministic.
To Reproduce
Steps to reproduce the behavior:
avx512_enabled = true
inproc.c
.notepad.exe
3.1 In release builds, DR immediately exits
3.2 In debug builds, assertion fires:
rip-relative reference out of 32-bit reach
Access Violation, as reported by WinDBG
Debug Output with loglevel 3
log.0.2376.html.txt
Versions
avx512_enabled = false
(inproc.c
). Dynamorio is executed correctlycc @TomSie, @jones718
The text was updated successfully, but these errors were encountered: