-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Open
Labels
arch-wasmWebAssembly architectureWebAssembly architecturearea-Debugger-monoenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions
Milestone
Description
Some debugger test runs randomly get aborted on CI. See #89409
Running GetPropertiesTests
in codespaces reveals that the RES memory usage of the process keeps increasing, reaching ~10G in 5mins. This suggests a memory leak.
Looking at the test process with dotnet dotnet-counters monitor --refresh-interval 1 -p ...
:

One potential solution, and a good thing to do anyway would be to spawn MonoProxy
in a separate process, for which we already have wrappers. Right now, we instantiate MonoProxy
for each test in the same test process which is overkill and not representative of user scenarios.
relevant code
runtime/src/mono/wasm/debugger/DebuggerTestSuite/ChromeProvider.cs
Lines 92 to 97 in 4cb123a
_debuggerProxy = new DebuggerProxy(loggerFactory, loggerId: Id, options: options); | |
TestHarnessProxy.RegisterNewProxy(Id, _debuggerProxy); | |
var browserUri = new Uri(con_str); | |
WebSocket? ideSocket = await context.WebSockets.AcceptWebSocketAsync().ConfigureAwait(false); | |
await _debuggerProxy.Run(browserUri, ideSocket, cts).ConfigureAwait(false); | |
} |
Metadata
Metadata
Assignees
Labels
arch-wasmWebAssembly architectureWebAssembly architecturearea-Debugger-monoenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions