-
Notifications
You must be signed in to change notification settings - Fork 566
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
Windows memory query to find the size fails on weird AllocationBase behavior on GA Server16 #4588
Labels
Comments
derekbruening
added a commit
that referenced
this issue
Dec 6, 2020
Removes what was thought of as a sanity check for the allocation base changing in DR's internal query loop, but it turns out there are cases of anomalous bases for which failing the query has disastrous consequences. Just ignoring the anomaly and moving on is the solution. Issue: #4588, DynamoRIO/drmemory#2328 Fixes #4588
derekbruening
added a commit
that referenced
this issue
Dec 6, 2020
Removes what was thought of as a sanity check for the allocation base changing in DR's internal query loop, but it turns out there are cases of anomalous bases for which failing the query has disastrous consequences. Just ignoring the anomaly and moving on is the solution. Tested on the Github Actions Windows Server 16 images. Issue: #4588, DynamoRIO/drmemory#2328 Fixes #4588
derekbruening
added a commit
to DynamoRIO/drmemory
that referenced
this issue
Dec 6, 2020
Updates DR to 312d24d3 to pull in two key fixes for Dr. Memory on Github Actions Windows Server 2016: + DynamoRIO/dynamorio#4588: Handle anomalous alloc bases in Windows query loop (DynamoRIO/dynamorio#4590) + DynamoRIO/dynamorio#4587: Use from-wrapper syscall numbers for all win10 (DynamoRIO/dynamorio#4589) Fixes #2328 Fixes #2329
derekbruening
added a commit
to DynamoRIO/drmemory
that referenced
this issue
Dec 6, 2020
Updates DR to 312d24d3 to pull in two key fixes for Dr. Memory on Github Actions Windows Server 2016: + DynamoRIO/dynamorio#4588: Handle anomalous alloc bases in Windows query loop (DynamoRIO/dynamorio#4590) + DynamoRIO/dynamorio#4587: Use from-wrapper syscall numbers for all win10 (DynamoRIO/dynamorio#4589) Fixes #2328 Fixes #2329
derekbruening
added a commit
that referenced
this issue
Dec 14, 2020
Removes what was thought of as a sanity check for the allocation base changing in DR's internal query loop, but it turns out there are cases of anomalous bases for which failing the query has disastrous consequences. Just ignoring the anomaly and moving on is the solution. Tested on the Github Actions Windows Server 16 images. Issue: #4588, DynamoRIO/drmemory#2328 Fixes #4588
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This was hit in Dr. Memory DynamoRIO/drmemory#2328
The details are here:
DynamoRIO/drmemory#2328 (comment)
Basically we have a case where the AllocationBase goes up and then drops back to an original value, and the query loop inside query_memory_internal() (which implements dr_query_memory()) fails when the AllocationBase doesn't match. This causes multiple address space walks in Dr. Memory to fail early, causing Umbra init to mess up, and leak scanning to assert.
The text was updated successfully, but these errors were encountered: