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

Most upvoted comments

@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