Skip to content

.NET 9, Android: AOT compiler currently fails with an assertion #94880

@jonathanpeppers

Description

@jonathanpeppers

Description

This started happening in our PR moving to .NET 9:

dotnet/android#8366

dotnet build -c Release fails with:

Microsoft.Android.Sdk.Aot.targets(109,5): Precompiling failed for obj\Release\android-arm64\linked\Java.Interop.dll with exit code 57005.
Mono Ahead of Time compiler - compiling assembly C:\a\_work\1\a\TestRelease\11-15_21.06.00\temp\BasicProjectTrue\obj\Release\android-arm64\linked\Java.Interop.dll
AOTID AF248EDF-40DF-6D3F-1C1A-A37FAD329420
Using profile data file 'C:\a\_work\1\s\bin\Release\dotnet\packs\Microsoft.Android.Sdk.Windows\34.99.0-ci.darc-main-583d6f71-0641-4428-9c9f-b64ebed2e33e.85\targets\dotnet.aotprofile'
Added 167 methods from profile.
* Assertion at D:\a\_work\1\s\src\mono\mono\mini\mini-arm64.c:673, condition `imms >= 0 && imms < 128' not met 

Reproduction Steps

  1. dotnet new android
  2. dotnet build -c Release

Expected behavior

No build error

Actual behavior

Build error with assertion in mini-arm64.c

Regression?

Yes

Known Workarounds

You could disable the AOT compiler with RunAOTCompilation=false.

Configuration

.NET SDK: 9.0.100-alpha.1.23563.1
Runtime: 9.0.0-alpha.1.23557.14

Other information

Binlog: net9aot.zip

I tried updating the AOT profile, just to see if it would help: dotnet/android@2bf05c3

But I get the same issue, still.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions