Skip to content
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

unit_tests test_loading + client.loader failing on Windows #6570

Closed
derekbruening opened this issue Jan 19, 2024 · 2 comments · Fixed by #6571
Closed

unit_tests test_loading + client.loader failing on Windows #6570

derekbruening opened this issue Jan 19, 2024 · 2 comments · Fixed by #6571

Comments

@derekbruening
Copy link
Contributor

Suddenly failed in both 32 and 64 bit today:

https://github.com/DynamoRIO/dynamorio/actions/runs/7588165358/job/20670095283?pr=6569

testing drwinapi kernel32 memory-related routines
testing drwinapi kernel32 lib-related routines
EXPECT failed at D:\a\dynamorio\dynamorio\core\win32\drwinapi\kernel32_lib.c:284 in test test_loading: h != NULL

32-bit also failed on the client.loader test; probably related?

139: <Application D:\a\dynamorio\dynamorio\build_debug-internal-32\suite\tests\bin\client.loader.exe (5900). Unable to load client library: bcrypt.dll: library initializer failed..>
139/262 Test #139: code_api|client.loader .......................................***Failed  Required regular 
@derekbruening
Copy link
Contributor Author

The unit_tests 32-bit failure does reproduce on a local up to date machine.

@derekbruening
Copy link
Contributor Author

Looks like the two failures are the same: advaip32 loads bcrypt, whose process init routine fails. Ignoring it works for our test purposes and with so few resources to spend time on Windows that will have to do for now.

derekbruening added a commit that referenced this issue Jan 19, 2024
A recent Windows update caused the bcrypt.dll process init routine to
fail.  This made the unit_tests and client.loader tests fail.  For now
we ignore the failure which so far has no harmful visible side
effects.

Fixes #6570
derekbruening added a commit that referenced this issue Jan 19, 2024
A recent Windows update caused the bcrypt.dll process init routine to
fail. This made the unit_tests and client.loader tests fail. For now we
ignore the failure which so far has no harmful visible side effects.

Fixes #6570
derekbruening added a commit that referenced this issue Sep 23, 2024
Extends the private loader bcrypt.dll entry failure being ignore to
ignore all private library entry failures.  We have had multiple cases
of initializers failing without fatal consequences, and given that we
do not have resources to track down every detail it is best to note
the failure and move on.  We have seen Dr. Memory in particular fail
on newer Windows versions and in some cases ignoring that failure lets
the tool continue and succeed, as only a small piece of the private
library is needed (generally pulled in as a chain of dependences from
dbghelp.dll which is used for symbol information).  The private loader
on Windows is considered best-effort at this point.

Issue: #6570
derekbruening added a commit that referenced this issue Sep 23, 2024
Extends the private loader bcrypt.dll entry failure being ignore to
ignore all private library entry failures. We have had multiple cases of
initializers failing without fatal consequences, and given that we do
not have resources to track down every detail it is best to note the
failure and move on. We have seen Dr. Memory in particular fail on newer
Windows versions and in some cases ignoring that failure lets the tool
continue and succeed, as only a small piece of the private library is
needed (generally pulled in as a chain of dependences from dbghelp.dll
which is used for symbol information). The private loader on Windows is
considered best-effort at this point.

Issue: #6570, #6962
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant