Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/9.0.1xx-rc2] [Xamarin.Android.Build.Tasks] Disable LLVM marshal methods (#9336) #9346

Merged
merged 2 commits into from
Sep 30, 2024

Commits on Sep 30, 2024

  1. [Xamarin.Android.Build.Tasks] Disable LLVM marshal methods (#9336)

    Context: #8253
    Context: #9343
    
    We've had a number of reports about *hangs* when LLVM Marshal Methods
    are enabled (see also #8253), but we had been willing
    to accept having LLVM Marshal Methods enabled by default as it helps
    improve app startup time.
    
    However, [a customer reported a native crash][0] when LLVM Marshal
    Methods are enabled:
    
    > ![Thread Stack Trace][1]
    
    	syscall at line 28 within libc
    	__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) at line 144 within libc
    	sem_wait at line 108 within libc
    	within libmonosgen-2.0.so (Build Id: …)
    	within <anonymous:…>
    
    This native crash suggests "something going wrong" within MonoVM.
    We find this "scary" enough that we feel it is once again prudent
    to disable LLVM Marshal Methods by default in .NET 9, by setting the
    default value of `$(AndroidEnableMarshalMethods)`=False.
    
    Even though #9343 has a potential fix for the hang, we feel that
    we're too close to .NET 9 GA to validate in the wild.  This feature
    will need to wait for .NET 10.  🙁
    
    To explicitly enable LLVM Marshal Methods, set
    `$(AndroidEnableMarshalMethods)`=True in your App `.csproj`.
    
    [0]: https://discord.com/channels/732297728826277939/732297837953679412/1288758900627345463
    [1]: https://cdn.discordapp.com/attachments/732297837953679412/1288758900522483712/05F6ED48-2BBA-4FC0-A54F-81BB57606500.png?ex=66f659c1&is=66f50841&hm=8f6f78f283f8c03e9fb37a452ad5d0babaaad3dd4bcc1b4887f4dcf60f651c12&
    grendello authored and jonathanpeppers committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    f6f94d0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6890c31 View commit details
    Browse the repository at this point in the history