Closed atuggle closed 7 months ago
/cc @lewing @pavelsavara
Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.
Author: | atuggle |
---|---|
Assignees: | - |
Labels: | `arch-wasm`, `untriaged`, `area-VM-meta-mono`, `needs-area-label` |
Milestone: | - |
I don't have any apple device, so I just tested the provided repository with chrome on windows. I get
Also, this is compiled with SIMD instructions and perhaps your devices doesn't have recent version of Safari (16.4 and above) ?
This issue has been marked needs-author-action
and may be missing some important information.
@pavelsavara
I added a new commit that fixes the InputText for chrome.
I also removed the script reference to the service worker
I also added a manual version to the index.html page just to make it a tad bit easier to know if the latest was deployed to the web server
Additional Notes:
I added a new commit that fixes the InputText for chrome.
The new version just works on my chrome, so this need somebody with ios device to have look. Does it also fail on OsX ?
* Note: This does not impact the issue where AOT compilation breaks the app on Iphones and Ipads
Now I'm thinking that if this was SIMD or EH issue it would fail much earlier.
Could you please try to give us more detailed stack trace ?
And also please report the version of Safari on the device.
Thanks!
It does work on OsX! Just not on iPhones and iPads!
The device I'm using is on an iphone running IOS 16.6 which is also the version of Safari for IOS.
Safari will not allow me to copy the stack trace so the following screen captures show the stack trace:
Does this reproduce with the Jiterpreter disabled?
<PropertyGroup>
<BlazorWebAssemblyJiterpreter>false</BlazorWebAssemblyJiterpreter>
</PropertyGroup>
@kg
Your suggestion to add the BlazorWebAssemblyJiterpreter
has no impact. I tested it both ways with the values false
and true
and if AOT was set to True it did not work, but if AOT was set to False the site worked (again it worked with both false
and true
set for BlazorWebAssemblyJiterpreter
)
Could you please enable symbols
<PropertyGroup>
<WasmNativeDebugSymbols>true</WasmNativeDebugSymbols>
<WasmNativeStrip>false</WasmNativeStrip>
</PropertyGroup>
And see if stack trace has better function names, if so please copy them again.
Hope this helps
Additional context: It doesn't work in Chrome on my iPhone either. So both Safari & Chrome do not work when I have AOT = true on iPhone & iPad.
This is the resulting page on my iPhone:
Additional context: It doesn't work in Chrome on my iPhone either. So both Safari & Chrome do not work when I have AOT = true on iPhone & iPad.
FYI, Chrome and Firefox on iPhone/iPad are just Safari in a wrapper. So you don't need to test with them.
I think the top one screen is just JS interop rejecting a promise. Something happened deeper than that.
Same issue in .Net 8 RC1. Need fix.
Is this fixed in .NET 8 ?
Is this fixed in .NET 8 ?
Nope, still sucks :')
Any news on this? Is this working in .NET 8.0.1 then?
Any news on this? Is this working in .NET 8.0.1 then?
New year, old problems.
Doesn't work for me yet... I had to add
<RunAOTCompilation>false</RunAOTCompilation>
<WasmEnableSIMD>false</WasmEnableSIMD>
to the .csproj
file's PropertyGroup
section to temporarily circumnavigate this situation...
Thanks for the reply @GlitchedPolygons, we would like to use AOT however, guess that's not possible then?
Thanks for the reply @GlitchedPolygons, we would like to use AOT however, guess that's not possible then?
I'd love to use AOT too (and the SIMD optimizations would be very welcome too since I'm working with relatively math-intensive stuff...) but unfortunately at the moment it doesn't look like we're getting a fix anytime soon :(
Any comment on this from the Microsoft team? @pavelsavara
If <WasmEnableSIMD>false</WasmEnableSIMD>
fixes it in interpreter mode, that suggests the device you're running on lacks SIMD support. It sounds like it doesn't work at all in AOT mode though even if SIMD is disabled, correct? That sounds like a separate issue with the AOT compiler.
I personally don't own any Apple hardware other than a macbook so I can't test/verify this problem myself.
If my understanding is correct, what remains of this issue is the AOT problem. It's expected that if SIMD is enabled you won't be able to run on old devices that lack SIMD support. (Whether SIMD should be disabled by default is a separate question which would need a separate tracking issue.)
We are using these two lines in our csproj in .NET 7 and it works perfectly, what is different in .NET 8?
<WasmEnableSIMD Condition="'$(Configuration)'=='Release'">true</WasmEnableSIMD>
<RunAOTCompilation Condition="'$(Configuration)'=='Release'">true</RunAOTCompilation>
This seems to work even if the device doesn't have SIMD support.
please add iOS version information
This issue has been marked needs-author-action
and may be missing some important information.
This issue has been automatically marked no-recent-activity
because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove no-recent-activity
.
Bump.
@e012345678 @GlitchedPolygons What version of iOS/Safari are you seeing this message one?
And are you getting the Error: AggregateException_ctor_DefaultMessage
, right?
@e012345678 @GlitchedPolygons What version of iOS/Safari are you seeing this message one? And are you getting the
Error: AggregateException_ctor_DefaultMessage
, right?
Ahhw, I don't remember >.<
I do think so tho, yeah... It does ring a bell.
(I had to rely on the above workaround of disabling SIMD and AOT comp. to make it work)
My current testing
WasmEnableSIMD=false
) makes it work on iOS simulator 15.5 in SafariError: AggregateException_ctor_DefaultMessage
The sample repo uses preview of .NET 8. Can you please validate that AOT compilation works in latest .NET 8 (8.0.3) in your environment?
I am pleased to report this issue is resolved (specifically the Error: AggregateException_ctor_DefaultMessage
issue).
I have verified this specific issue has been resolved using .NET 8 (8.0.100) with the same devices I originally reported this issue with. My personal iPad and iPhone. Also, as before my application continues to works on multiple OSX devices including several older model Macbook pro's and a newer M3 based Macbook pro.
I am going to leave this Issue Open since there appears to be other apps with similar issues, but you are free to close this since I can verify my specific issue works (Event with RunAOTCompilation = true)
I'm going to close the issue. Feel free to reopen if issue occurs in other case with the latest bits
Description
After upgrading a .NET 7 Blazor WebAssembly PWA application to .NET 8 Preview 7 I noticed the web app stopped loading on iPhones and iPads. The console log shows the below error:
While attempting to create a sample, I discovered the two lines of code that reproduce the bug. The sample project with README.md instructions can be found here: https://github.com/atuggle/BlazorWebAssemblyPWA-BreaksOnIOS
Configuration
There are two steps to reproduce this and it's pretty easy. Step 1 create a sample Blazor WebAssemby PWA project, and Step 2 add two lines of code deploy, and verify on iPhone it does not work.
Step 1: Create the project
Step 2: Add code that breaks it on iPhone & iPad
Other information
I am able to work around this right now by turning AOT off, and most people will not notice this because AOT is off by default for most new project creations.