Skip to content

.NET 7 Android apps crash if trimmed #68987

@jonathanpeppers

Description

@jonathanpeppers

Description

This started happening during this Maestro bump: dotnet/android#6986

Release net7.0-android apps crash with:

********** Crash dump: **********
Build fingerprint: 'google/redfin/redfin:12/SP2A.220305.012/8177914:user/release-keys'
#00 0x0000000000000000 <unknown>
#01 0x0000000000291de4 /data/app/~~ItthawCn0DOlo1Ki4imiRA==/com.companyname.foo-W3RWpuZlKreSEizITM-Dpg==/split_config.arm64_v8a.apk!libmonosgen-2.0.so (BuildId: 37b4820b2e370de25a652bab573817fa6b135ac1)
                                                                                                                                                        GlobalizationNative_GetSortHandle
                                                                                                                                                        /__w/1/s\src/native/libs/System.Globalization.Native/pal_collation.c:462:46
#02 0x000000000000f6d0 <anonymous:74e811b000>
Crash dump is completed

It seems that disabling the linker allows things to work -p:PublishTrimmed=false.

Let me know if there is a particular managed type/method to look for, I can check if it was linked away. Thanks!

Reproduction Steps

  1. dotnet new android
  2. dotnet build -c Release -t:Run and run on an arm64 device

Expected behavior

Release net7.0-android apps launch successfully.

Actual behavior

Release net7.0-android apps crash unless you pass -p:PublishTrimmed=false.

Regression?

Yes this worked in: .NET SDK 7.0.100-preview.4.22174.1
Failing in: .NET SDK 7.0.100-preview.5.22256.2

Known Workarounds

-p:PublishTrimmed=false

Configuration

.NET SDK 7.0.100-preview.5.22256.2.

Looks to be using: 874c6a9

I was running on a Pixel 5 Android device.

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions