-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[browser][mt] Release all proxies of C# and JS objects on WebWorker #88052
Conversation
2547b34
to
16bc9c7
Compare
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Yes, this is on worker after main thread already called |
Ah ok. does If it does get called then probably the most straightforward thing is to add |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
we call
There is |
No we don't call it. We call |
Are you saying you worry that if we exit early from
|
I'm exploring alternate exit strategy here #88387 |
NodeJS strange exit, non-MT
|
# Conflicts: # src/mono/wasm/runtime/gc-handles.ts # src/mono/wasm/runtime/invoke-cs.ts # src/mono/wasm/runtime/loader/exit.ts # src/mono/wasm/runtime/loader/run.ts # src/mono/wasm/runtime/marshal-to-cs.ts # src/mono/wasm/runtime/pthreads/worker/index.ts # src/mono/wasm/runtime/snapshot.ts # src/mono/wasm/runtime/types/internal.ts # src/mono/wasm/test-main.js
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
CI failure is #88900 |
Example how proxies are disposed on unit tests.
|
...ervices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSSynchronizationContext.cs
Outdated
Show resolved
Hide resolved
...vices.JavaScript.UnitTests/System/Runtime/InteropServices/JavaScript/JavaScriptTestHelper.cs
Show resolved
Hide resolved
/azp run runtime-wasm |
No commit pushedDate could be found for PR 88052 in repo dotnet/runtime |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
Unrelated AOT failure Log is #89398
|
withInteropCleanupOnExit
could turn on proxy disposal at the exit of program, for non MT build too.s_gcHandleFromJSOwnedObject
renamed toThreadJsOwnedObjects
and made ThreadStatic for MTThreadJsOwnedObjects
UninstallWebWorkerInterop
will now dispose all proxies together withforceDisposeProxies
on JS sidemono_wasm_pthread_on_pthread_detached
willassertNoProxies
for all threadsproxy_debug_symbol
to all proxies inDebug
build of the runtime, for easier diagnosticsnew Error
not just string.forceDisposeProxies
is onINTERNAL
and is tested after each method ofJSImportExportTest
. We also have"keep"
property on proxy which will keep it alive anyway, only good for testing.globalThis
can't be disposed from JSHandle.Fixes #86039
Fixes #88057