Skip to content

Android API 23, Runtime Crash in .NET 9 #106025

Closed
@jonathanpeppers

Description

@jonathanpeppers

Description

We have a nightly test pipeline that runs our test suite on older Android emulators.

The API 23 emulator crashes at runtime with:

08-06 03:33:12.480  2745  2745 F mono-rt : [ERROR] FATAL UNHANDLED EXCEPTION: Nested exception detected.
08-06 03:33:12.480  2745  2745 F mono-rt : Original Exception: at System.Threading.Thread.get_CurrentThread () [0x00009] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Threading.Monitor.Exit (object) [0x0000e] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.AppContext.GetData (string) [0x00037] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.AppContext.TryGetSwitch (string,bool&) [0x00040] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.AppContextConfigHelper.GetBooleanConfig (string,bool) [0x00000] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.LocalAppContextSwitches.GetDefaultShowILOffsetSetting () [0x00014] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Diagnostics.StackTrace.ToString (System.Diagnostics.StackTrace/TraceFormat,System.Text.StringBuilder) [0x002ee] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Diagnostics.StackTrace.ToString (System.Diagnostics.StackTrace/TraceFormat) [0x0000b] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.GetStackTrace () [0x00007] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.get_StackTrace () [0x00023] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.ToString () [0x0001f] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.ToString () [0x0000c] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.ToString () [0x0000c] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : 
08-06 03:33:12.480  2745  2745 F mono-rt : Nested exception:at System.Threading.Thread.get_CurrentThread () [0x00009] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Threading.Monitor.Exit (object) [0x0000e] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.AppContext.GetData (string) [0x00037] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.AppContext.TryGetSwitch (string,bool&) [0x00040] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.AppContextConfigHelper.GetBooleanConfig (string,bool) [0x00000] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.LocalAppContextSwitches.GetDefaultShowILOffsetSetting () [0x00014] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Diagnostics.StackTrace.ToString (System.Diagnostics.StackTrace/TraceFormat,System.Text.StringBuilder) [0x002ee] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Diagnostics.StackTrace.ToString (System.Diagnostics.StackTrace/TraceFormat) [0x0000b] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.GetStackTrace () [0x00007] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.get_StackTrace () [0x00023] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.ToString () [0x0001f] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.ToString () [0x0000c] in <d7679677bb2b4cc291070c60be6bf246>:0
08-06 03:33:12.480  2745  2745 F mono-rt : at System.Exception.ToString () [0x0000c] in <d7679677bb2b4cc291070c60be6bf246>:0

This appears to be working fine on newer API levels.

Reproduction Steps

Run this test project on an API 23 emulator:

Expected behavior

Our test suite passes on API 23 emulators.

Actual behavior

Our test suite crashes on API 23 emulators.

Regression?

Yes, this is working in .NET 8.

Known Workarounds

n/a

Configuration

Noticed with:

  • .NET SDK 9.0.100-rc.1.24381.10
  • Runtime 9.0.0-rc.1.24380.7

I think this was also happening in .NET 9 Preview 7 builds.

Other information

logcat-Release23-Mono.Android.NET_Tests.txt

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions