Description
openedon Oct 3, 2024
Description
We are running an angular application that creates and starts the runtime with Blazor.start
and getDotnetRuntime(0)
. At some point our application gets this runtime error:
RuntimeError: memory access out of bounds
at dotnet.native.wasm.mono_jiterp_tlqueue_purge_all (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[446]:0x43172)
at dotnet.native.wasm.mono_jiterp_free_method_data (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[445]:0x430b0)
at dotnet.native.wasm.interp_free_method (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[156]:0x1af71)
at dotnet.native.wasm.mono_jit_free_method (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[4792]:0x139620)
at dotnet.native.wasm.mono_runtime_free_method (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[3661]:0xfb211)
at dotnet.native.wasm.free_dynamic_method (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[4255]:0x1187c7)
at dotnet.native.wasm.reference_queue_process (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[4418]:0x1252f7)
at dotnet.native.wasm.mono_runtime_do_background_work (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[4403]:0x124ebe)
at dotnet.native.wasm.mono_background_exec (http://localhost:4200/assets/dotnet/dotnet.native.sg2y5d2zcg.wasm:wasm-function[1188]:0x5319a)
at Yo (http://localhost:4200/assets/dotnet/dotnet.runtime.26xtx0erx2.js:3:55978)
This issue seems to be in the jiterpreter and we wanted to see what would happen when we disable this with the following settings:
<BlazorWebAssemblyJiterpreter>false</BlazorWebAssemblyJiterpreter>
<WasmBuildNative>true</WasmBuildNative>
<WasmNativeDebugSymbols>true</WasmNativeDebugSymbols>
<DebuggerSupport>true</DebuggerSupport>
<CompressionEnabled>false</CompressionEnabled>
<WasmNativeStrip>false</WasmNativeStrip>
<BlazorCacheBootResources>false</BlazorCacheBootResources>
This will add the following options to the blazor.boot.json
file:
[
"--no-jiterpreter-traces-enabled",
"--no-jiterpreter-interp-entry-enabled",
"--no-jiterpreter-jit-call-enabled"
]
But this does not seem to disable calling that method and results in the same runtime error.
Reproduction Steps
I am unable to provide a small sample that can be used to reproduce this issue.
Expected behavior
Setting <BlazorWebAssemblyJiterpreter>false</BlazorWebAssemblyJiterpreter>
should disable the call to mono_jiterp_tlqueue_purge_all
.
Actual behavior
The method is called.
Regression?
No response
Known Workarounds
No response
Configuration
.NET 9.0.100-rc.1.24452.12
Microsoft.AspNetCore.Components.WebAssembly 9.0.0-rc.1.24452.1
Other information
@pavelsavara was in a teams call where this runtime error was happening.