-
Notifications
You must be signed in to change notification settings - Fork 571
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
Upgrade GA CI from windows-2016 which is deprecated and will be removed 3/15/22 #5195
Comments
Looks like the GA CI windows-2019 has VS2019 so we'd need #3805 |
Upgrades (or rather attempts to upgrade) the Windows version in Github Actions config to windows-2019. This is required because windows-2016 will be removed on March 15 2022. Issue: #5195
Test failures and their immediate causes:
actual:
actual:
expected:
actual:
The 32-bit |
Pasting from #5385 (comment) to show the bitwidth summary: 32-bit:
64-bit:
|
On my win10 21HQ machine with VS2019, I cannot reproduce the 64-bit client.tls nor drsyms-testgcc failures. drsyms-test does fail on my machine but the output is slightly different: it doesn't have the "Unexpected unmangling" but it is missing a bunch of the early lines though not as many as the GA CI VM:
|
I can repro the 32-bit security-win32.except-execution failure: the test doesn't crash but it has no output so it short-circuits and skips key parts somehow. |
For 32-bit security-win32.except-execution: Looks like its custom thread creation failed and that does all the work so
That's STATUS_ACCESS_DENIED. I'm looking at this old test and trying to understand why it needs a raw |
I just took out the whole raw thread and the test passes, at least in default instru mode, which is enough. But, the template file is full of tabs and trailing spaces so it will be a pain to commit...I will try to clean it up as part of the fix. The context dumper has that whitespace in it. |
For this one: it looks like my machine just has the |
Updates the security-win32.except-execution test to not make a raw thread with a custom stack, which fails on GA CI win2019. Running the test code on the initial thread as-is works fine, for regular DR instrumentation modes. To avoid headaches with tabs and trailing spaces, updates the context dumping to avoid those, and updates other templates that use that. Issue: #5195
For the drsyms tests I did some investigation. "kraken" is my machine here. On kraken: it does find the test app's anon-namespace symbols; has output ordering issue is all. GA CI x64:
Kraken x64:
Kraken x86 has no dbghelp output in cmake config. Same with GA CI.
On Kraken x64 I can repro that assert if I do:
So DR's private loader doesn't work properly with that dbghelp version. Versions:
Using the Windows Kits/10 version in suite/tests/bin: still finds HasFields My VS2019 build.ninja does have debug flags and presumably matches GA CI
|
Updates the security-win32.except-execution test to not make a raw thread with a custom stack, which fails on GA CI win2019. Running the test code on the initial thread as-is works fine, for regular DR instrumentation modes. To avoid headaches with tabs and trailing spaces, updates the context dumping to avoid those, and updates other templates that use that. Issue: #5195
For some reason I'm not able to use |
Searches both Program Files and Program Files (x86) for dbghelp.dll to fix problems where 32-bit fails to find an SDK or VS version and ends up using the system version which DR"s private loader has trouble with. Adds a CMake status message listing all the dghelp.dll paths found, to help diagnose selection issues. Issue: #5195
Searches both Program Files and Program Files (x86) for dbghelp.dll to fix problems where 32-bit fails to find an SDK or VS version and ends up using the system version which DR"s private loader has trouble with. Adds a CMake status message listing all the dghelp.dll paths found, to help diagnose selection issues. Issue: #5195
Relaxes the ordering of symbols found through the dbghelp iterator to handle orderings seen with VS2019. This has the client.drsyms-test (and client.drsyms-testgcc) tests now passing for both 32-bit and 64-bit on my VS2019 local setup. Unfortunately the GA CI setup has further problems. Issue: #5195
Relaxes the ordering of symbols found through the dbghelp iterator to handle orderings seen with VS2019. This has the client.drsyms-test (and client.drsyms-testgcc) tests now passing for both 32-bit and 64-bit on my VS2019 local setup. Unfortunately the GA CI setup has further problems. Issue: #5195
Updates our official supported Windows toolchain from VS2017 to VS2019. Updates the documentation on how to build. Updates our GA CI jobs. Adds 3 tests to the ignore list as they fail on this platform and we do not yet have fixes. Issue: #5195
Updates our official supported Windows toolchain from VS2017 to VS2019. Updates the documentation on how to build. Updates our GA CI jobs. Adds 3 tests to the ignore list as they fail on this platform and we do not yet have fixes. Issue: #5195
I marked the 3 vs2019-* jobs as required and removed the vs2017-* from the required list. (BTW I noticed a new feature, requiring all conversations to be marked resolved beforemerging: seems reasonable so I checked it.) |
Fixes the expected output for client.tls on Windows. The previous template accounts for a mysterious output line, which we're not seeing anymore on vs2019, so we just remove it from the expected output. Also removes support for PRE_VS2015, seeing as we're effectively dropping support for vs2017 by removing the above-mentioned line. Issue: #5195
Fixes the expected output for client.tls on Windows. The previous template accounts for a mysterious output line, which we're not seeing anymore on vs2019, so we just remove it from the expected output. Also removes support for PRE_VS2015, seeing as we're effectively dropping support for vs2017 by removing the above-mentioned line. Issue: #5195
The windows-2016 image is deprecated so we update the DR package building job to use windows-219. Issue: #5195
The package builder needs to be upgraded: but when I do so it fails on building Dr. Memory which also needs to be upgraded. |
I split the drsyms problem into #5430. For now we have the drsyms tests auto-ignored which is not a great state to be in. |
Updates DR to the latest 5e1360267 for VS2019 support. Updates GA CI jobs to use the 2019 image. Issue: DynamoRIO/dynamorio#5195
Updates DR to the latest 6431fc4f5 for VS2019 support and to fix DynamoRIO/dynamorio#5432. Updates GA CI jobs to use the 2019 image. Defines VS2019-required defines, just like DR does. Avoids dup symbol errors for strtol in libucrtd and ntdll_imports via /force:multiple (xref #1805). Issue: DynamoRIO/dynamorio#5195, #1805, DynamoRIO/dynamorio#5432
The windows-2016 image is deprecated so we update the DR package building job to use windows-2019. Issue: #5195
#5430 is what remains. Closing this. |
Github gives us this message:
The windows-2016 environment is deprecated and will be removed on March 15, 2022. Migrate to windows-latest instead. For more details see actions/runner-images#4312
This issue covers updating for our DR and DrMemory jobs.
The text was updated successfully, but these errors were encountered: