runtime: [wasm] Blazor/AOT crashing with preview1 - `Assertion at /__w/1/s/src/mono/mono/mini/aot-runtime.c:2443`
Description
I am getting the following error after updating my solution to dotnet 8 Preview 1. No compilation config was changed from dotnet 7 to dotnet 8.
14:14:12.204 dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5 Error: [MONO] * Assertion at /__w/1/s/src/mono/mono/mini/aot-runtime.c:2443, condition `<disabled>' not met
at se (dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5:521)
at ie (dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5:811)
at 0ecc80da:0x32cd142
at 0ecc80da:0x31867ee
at 0ecc80da:0x32ac944
at 0ecc80da:0x32ac9d8
at 0ecc80da:0x32aca1f
at 0ecc80da:0x32ac9f0
at 0ecc80da:0x32984c9
at 0ecc80da:0x328c70c
ie @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
$func140215 @ 0ecc80da:0x32cd142
$func133828 @ 0ecc80da:0x31867ee
$func139722 @ 0ecc80da:0x32ac944
$func139725 @ 0ecc80da:0x32ac9d8
$func139727 @ 0ecc80da:0x32aca1f
$func139726 @ 0ecc80da:0x32ac9f0
$func139371 @ 0ecc80da:0x32984c9
$func139217 @ 0ecc80da:0x328c70c
invoke_vi @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
$func130990 @ 0ecc80da:0x30ec48e
$func139216 @ 0ecc80da:0x328c519
$func139218 @ 0ecc80da:0x328ce8f
$func139231 @ 0ecc80da:0x328d6f1
$func133003 @ 0ecc80da:0x315d7d7
$func133001 @ 0ecc80da:0x315d746
$func133002 @ 0ecc80da:0x315d760
$func132221 @ 0ecc80da:0x313618d
$func132220 @ 0ecc80da:0x313605d
$mono_wasm_load_runtime @ 0ecc80da:0x32cc5f0
Module._mono_wasm_load_runtime @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
ccall @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
kc @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
postRun @ blazor.webassembly.js:1
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
doRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
m @ blazor.webassembly.js:1
await in m (async)
(anonymous) @ blazor.webassembly.js:1
preRun @ blazor.webassembly.js:1
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
e.instantiateWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
createWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ blazor.webassembly.js:1
await in (anonymous) (async)
start @ blazor.webassembly.js:1
Kt @ blazor.webassembly.js:1
await in Kt (async)
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
14:14:12.204 blazor.webassembly.js:1 MONO_WASM: mono_wasm_load_runtime () failed: {"name":"ExitStatus","message":"Program terminated with exit(1)","status":1}
u @ blazor.webassembly.js:1
Ec @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
kc @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
postRun @ blazor.webassembly.js:1
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
doRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
m @ blazor.webassembly.js:1
await in m (async)
(anonymous) @ blazor.webassembly.js:1
preRun @ blazor.webassembly.js:1
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
e.instantiateWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
createWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ blazor.webassembly.js:1
await in (anonymous) (async)
start @ blazor.webassembly.js:1
Kt @ blazor.webassembly.js:1
await in Kt (async)
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
14:14:12.204 blazor.webassembly.js:1 MONO_WASM: user callback posRun() failed: {"name":"ExitStatus","message":"Program terminated with exit(1)","status":1}
u @ blazor.webassembly.js:1
Ec @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
doRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
m @ blazor.webassembly.js:1
await in m (async)
(anonymous) @ blazor.webassembly.js:1
preRun @ blazor.webassembly.js:1
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
e.instantiateWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
createWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ blazor.webassembly.js:1
await in (anonymous) (async)
start @ blazor.webassembly.js:1
Kt @ blazor.webassembly.js:1
await in Kt (async)
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
14:14:12.205 blazor.webassembly.js:1 Error: Failed to start platform. Reason: [object Object]
at Kt (blazor.webassembly.js:1:62385)
u @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
Promise.catch (async)
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
14:14:12.205 dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5 Uncaught (in promise) ExitStatus {name: 'ExitStatus', message: 'Program terminated with exit(1)', status: 1}
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
postRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
doRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
m @ blazor.webassembly.js:1
await in m (async)
(anonymous) @ blazor.webassembly.js:1
preRun @ blazor.webassembly.js:1
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
e.preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
callRuntimeCallbacks @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
preRun @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
run @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
runCaller @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
removeRunDependency @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
await in (anonymous) (async)
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
e.instantiateWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:5
createWasm @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ dotnet.8.0.0-preview.1.23110.8.rqi6qmc4oy.js:14
(anonymous) @ blazor.webassembly.js:1
await in (anonymous) (async)
start @ blazor.webassembly.js:1
Kt @ blazor.webassembly.js:1
await in Kt (async)
(anonymous) @ blazor.webassembly.js:1
(anonymous) @ blazor.webassembly.js:1
Reproduction Steps
Publish a dotnet 8 Preview 1 Blazor WebAssembly application with
<WasmEnableSIMD Condition="'$(Configuration)'=='Release'">true</WasmEnableSIMD>
<RunAOTCompilation Condition="'$(Configuration)'=='Release'">true</RunAOTCompilation>
<!--https://github.com/dotnet/runtime/issues/61925 (value maybe 128mb (134217728)) maybe remove with .NET 8--><EmccTotalMemory Condition="'$(Configuration)'=='Release'">134217728</EmccTotalMemory>
Expected behavior
Runtime loads successfully.
Actual behavior
See errors above, program fails.
Regression?
No response
Known Workarounds
No response
Configuration
dotnet.8.0.0-preview.1.23110.8 Windows 10 x64 Chrome
Other information
No response
About this issue
- Original URL
- State: open
- Created a year ago
- Comments: 15 (8 by maintainers)
Commits related to this issue
- Disable BlazorPublishRunTest because of https://github.com/dotnet/runtime/issues/82481 — committed to radical/runtime by radical a year ago
- [wasm] Avoid unnecessary relinking when publishing a blazor project for AOT (#82748) * [wasm] Wasm.Build.Tests: Add blazor+aot run test * cleanup * [wasm] Wasm.Build.Tests: Use $(_IsPublishing)... — committed to dotnet/runtime by radical a year ago
- [wasm] WBT: Enable more previously disabled tests `Blazor.BuildPublishTests.WithDllImportInMainAssembly` `Blazor.BuildPublishTests.BlazorPublishRun` Issue: https://github.com/dotnet/runtime/issues/8... — committed to radical/runtime by radical a year ago
- [wasm] Misc build+test fixes (#87830) * [wasm] Use -s EXPORT_ES6=1 only for link time Fixes `emcc: warning: linker setting ignored during compilation: 'EXPORT_ES6' [-Wunused-command-line-argument]` ... — committed to dotnet/runtime by radical a year ago
@radical we should land a workaround for this in p2 and pick a different default for dedup for blazor targets
It’s safe to use, its just makes the app bigger. This issue will be fixed so the workaround is not going to be required.
@vargaz Compiling with
<WasmDedup>false</WasmDedup>seems to work! What does that setting do and is it safe to use it production? Is there anything we should think about? Thank you