[.NET 7.0 + WASM AOT] App crash after update #79152
Copy link
Copy link
Closed
Labels
Milestone
Description
Description
After updating to latest .NET 7 my Platform UNO app crashes 100% reproducible (screenshot below). Please see the original issue report here
The failing code looks like this:
(string, object) result = await TaskCompletionSource<(string, object)>.Task
(there is additional information including logs available on the link above)
Unfortunately I'm unable to create a repo -> there must be some side condition involved which makes it hard to reproduce.
Would you have any idea what might be going wrong and what could be done to further isolate the crash?
Reproduction Steps
Pls see above
Expected behavior
WASM AOT should not crash
Actual behavior
Crash on WASM AOT
Regression?
Yes, earlier on this year I had (a prior version of) my app running on .NET 6 + WASM AOT and did not experience that crash.
Known Workarounds
No response
Configuration
- WASM AOT in a Platform UNO app
- latest .NET 7
- on latest Windows 11, x64
Other information
No response
Reactions are currently unavailable

Activity
SamMonoRT commentedon Dec 2, 2022
cc @lewing @vargaz
DierkDroth commentedon Dec 9, 2022
@SamMonoRT @vargaz I just tested the offending project with
<WasmShellMonoRuntimeExecutionMode>Interpreter</WasmShellMonoRuntimeExecutionMode>... and would not encounter that problem.
-> There clearly appears to be something wrong with
<WasmShellMonoRuntimeExecutionMode>InterpreterAndAOT</WasmShellMonoRuntimeExecutionMode>Please let me know if you needed anything else - apart from a repo, which I unfortunately was unable to create - to resolve that regression.
vargaz commentedon Dec 9, 2022
UNO has its own build system, its own specific way of using AOT, etc, so it might be better to report this to them, they might be able to create a testcase.
DierkDroth commentedon Dec 9, 2022
@vargaz thanks for your feedback.
Interesting, @jeromelaban pointed me here as I posted this issue on the UNO space, since he felt this was a .NET WASM issue.
I feel like the man in the middle here...
jeromelaban commentedon Dec 9, 2022
@DierkDroth As I mentioned previously, neither the .NET team or Uno Team can work on this issue if there is no repro sample. It's best if you try making a sample out of your code so we can analyze further.
@vargaz This looks like a case of generic generic incorrect interp transitionsm, when proper stack traces are reported:
DierkDroth commentedon Dec 9, 2022
@jeromelaban I perfectly understand that a repo would help much to isolate the issue. As you know I'm always trying to create a repo as I reported an issue.
Unfortunately I failed in this case, since - this is my speculation - there is a side condition involved which I'm not aware (yet) and which makes the code fail.
DierkDroth commentedon Dec 9, 2022
@jeromelaban @vargaz I tried to further isolate the case and replaced
... by
Success! The app no longer crashes!
Anyway, it's concerning that the combination generics + (value) tuple + XXX (unknown factor which prevents me creating a repo) would crash
InterperterAndAOTwhereInterpreterwould work as expected.Also: this is clear regression, since I had the same combo of generics + (value) tuple in my app with .NET 6 and never experienced the failure before.