-
Notifications
You must be signed in to change notification settings - Fork 5k
[wasm][debugger][tests] Fix crash in EvaluateOnCallFrameTests
on CI
#69073
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
Conversation
In `TestHarnessProxy`, we recently started adding proxy instances to a static table, to enable getting the correct exit state from the client. But the instances were not removed from the table, which prevented the GC from collecting them. This manifests as the test process crashing on systems with 8GB of memory, when running `EvaluateOnCallFrameTests`. It would end up getting to a resident size of 2.2-2.7G, and then crash after about 30 tests. With these changes, the proxy gets collected, and the resident memory hovers around 500M. Future work: this will change once we start using the upcoming app host work, and thus moving the proxy to a separate process via `dotnet run --debug`.
Tagging subscribers to this area: @thaystg Issue DetailsIn This manifests as the test process crashing on systems with 8GB of Future work: this will change once we start using the upcoming app host
|
Tagging subscribers to 'arch-wasm': @lewing Issue DetailsIn This manifests as the test process crashing on systems with 8GB of Future work: this will change once we start using the upcoming app host
|
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
The wasm/library test failures are #69085 . |
The coreclr failures seem intermittent. And are unrelated to this PR.
|
In
TestHarnessProxy
, we recently started adding proxy instances to astatic table, to enable getting the correct exit state from the client.
But the instances were not removed from the table, which prevented the
GC from collecting them.
This manifests as the test process crashing on systems with 8GB of
memory, when running
EvaluateOnCallFrameTests
. It would end up gettingto a resident size of 2.2-2.7G, and then crash after about 30 tests. With these changes, the
proxy gets collected, and the resident memory hovers around 500M.
Future work: this will change once we start using the upcoming app host
work, and thus moving the proxy to a separate process via
dotnet run --debug
.