Skip to content

iOS: the AOT compiler crashes in .NET 8 #78154

@rolfbjarne

Description

@rolfbjarne

Description

The AOT compiler crashes during AOT compilation for some assemblies in .NET 8.

Reproduction Steps

Test case:
aottestcase-5de1b4f.zip

The test case contains a repro.sh script to reproduce the crash. You need to set the AOT_PACK environment variable to the location of your local AOT compiler pack for ios-arm64.

Expected behavior

No crash

Actual behavior

Crash:

$ AOT_PACK=/Users/rolf/work/maccore/net8.0/xamarin-macios/builds/downloads/dotnet-sdk-8.0.100-alpha.1.22553.12/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64/8.0.0-alpha.1.22551.9 ./repro.sh
Mono Ahead of Time compiler - compiling assembly /Users/rolf/test/dotnet/aottestcase/dll/Touch.Client.dll
AOTID 4C1E041E-8395-B828-A40C-67B387B604D5
./repro.sh: line 26: 74901 Segmentation fault: 11  $AOT_COMPILER "--aot=mtriple=arm64-ios,data-outfile=$DATA_OUTFILE,static,asmonly,direct-icalls,full,readonly-value=ObjCRuntime.Runtime.Arch=i4/0,nodebug,dwarfdebug,llvm-path=$LLVM_PATH,outfile=$OUTFILE,llvm-outfile=$LLVM_OUTFILE" --debug --llvm -O=gsharedvt ./dll/"$assembly".dll

Crash report: https://gist.github.com/rolfbjarne/1380a700e6b9bb115dad33ae35369d98

Regression?

Since .NET 7, yes

Known Workarounds

No response

Configuration

https://github.com/xamarin/xamarin-macios/blob/35fb9aca07fffdb14a6500be28f4f4d9984764ab/eng/Version.Details.xml#L3-L19

Other information

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions