Skip to content

[iOS][MacCatalyst] error: mono_coop_cond_broadcast Cannot transition thread from STATE_BLOCKING with DO_BLOCKING #88405

Closed
@simonrozsival

Description

@simonrozsival

While working on xamarin/xamarin-macios, I experienced a crash in mono with the following stack trace when building an app in the Debug configuration:

./xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView
2023-06-30 16:38:37.601 MySingleView[62121:11410156] error: mono_coop_cond_broadcast Cannot transition thread 0x1e7cf5e00 from STATE_BLOCKING with DO_BLOCKING

=================================================================
        Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
        Native stacktrace:
=================================================================
        0x10e8be65c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_dump_native_crash_info
        0x10e87d578 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_handle_native_crash
        0x10ea9c1a0 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : sigabrt_signal_handler.cold.1
        0x10e8bdf10 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_runtime_setup_stat_profiler
        0x18cd26a24 - /usr/lib/system/libsystem_platform.dylib : _sigtramp
        0x18ccf7c28 - /usr/lib/system/libsystem_pthread.dylib : pthread_kill
        0x18cc05ae8 - /usr/lib/system/libsystem_c.dylib : abort
        0x10e13418c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libxamarin-dotnet-debug.dylib : _ZL12log_callbackPKcS0_S0_iPv
        0x10e8fa3d4 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : monoeg_g_logv
        0x10e8fa508 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : monoeg_g_log
        0x10e794548 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_threads_transition_do_blocking
        0x10e795ab8 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_threads_enter_gc_safe_region_unbalanced_with_info
        0x10e7238ac - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_runtime_class_init_full
        0x10e6f1efc - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_RunClassConstructor_raw
        0x103bcb4f8 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : wrapper_managed_to_native_System_Runtime_CompilerServices_RuntimeHelpers_RunClassConstructor_intptr
        0x103bcaaf4 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : System_Runtime_CompilerServices_RuntimeHelpers_RunClassConstructor_System_RuntimeTypeHandle
        0x1038feb60 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : System_SR_InternalGetResourceString_string
        0x1038fee9c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : System_SR_GetResourceString_string
        0x103901b00 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : System_SR_get_Arg_NullReferenceException
        0x1038b390c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : System_NullReferenceException__ctor
        0x1040ea398 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
        0x10e7ec970 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
        0x10e72313c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_runtime_invoke_checked
        0x10e722fec - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_runtime_object_init_handle
        0x10e6dc7c4 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_exception_new_by_name
        0x10e6dc6a8 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_exception_from_name_domain
        0x10e87b784 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_handle_exception_internal
        0x10e87b6e8 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_handle_exception
        0x10e8bae2c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : handle_signal_exception
        0x105cb53fc - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : -[MySingleView_AppDelegate init]
        0x105cb53fc - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : -[MySingleView_AppDelegate init]
        0x1b8717514 - /System/iOSSupport/System/Library/PrivateFrameworks/UIKitCore.framework/Versions/A/UIKitCore : _UIApplicationMainPreparations
        0x1b8547094 - /System/iOSSupport/System/Library/PrivateFrameworks/UIKitCore.framework/Versions/A/UIKitCore : UIApplicationMain
        0x10e104e1c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libxamarin-dotnet-debug.dylib : xamarin_UIApplicationMain
        0x105901420 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : wrapper_managed_to_native_UIKit_UIApplication_xamarin_UIApplicationMain_int_intptr_intptr_intptr_intptr_
        0x104fd10d4 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr
        0x104fd13bc - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : UIKit_UIApplication_Main_string___System_Type_System_Type
        0x100731938 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : MySingleView_Application_Main_string__
        0x1040ea398 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
        0x10e7ec970 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_jit_runtime_invoke
        0x10e72313c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_runtime_invoke_checked
        0x10e72addc - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : do_exec_main_checked
        0x10e83fa24 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libmonosgen-2.0.dylib : mono_jit_exec
        0x10e14829c - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MonoBundle/libxamarin-dotnet-debug.dylib : xamarin_main
        0x105cb5088 - ./xamarin/xamarin-macios/tests/dotnet/MySingleView/bin/Debug/net7.0-maccatalyst/maccatalyst-arm64/MySingleView.app/Contents/MacOS/MySingleView : main
        0x18c99ff28 - /usr/lib/dyld : start

=================================================================
        Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x18ccc0724):0x18ccc0714  ff 0f 5f d6 c0 03 5f d6 10 29 80 d2 01 10 00 d4  .._..._..)......
0x18ccc0724  03 01 00 54 7f 23 03 d5 fd 7b bf a9 fd 03 00 91  ...T.#...{......
0x18ccc0734  65 e0 ff 97 bf 03 00 91 fd 7b c1 a8 ff 0f 5f d6  e........{...._.
0x18ccc0744  c0 03 5f d6 70 0a 80 d2 01 10 00 d4 03 01 00 54  .._.p..........T

=================================================================
        Managed Stacktrace:
=================================================================
          at <unknown> <0xffffffff>
          at System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor <0x00007>
          at System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor <0x00033>
          at System.SR:InternalGetResourceString <0x0075f>
          at System.SR:GetResourceString <0x0006b>
          at System.SR:get_Arg_NullReferenceException <0x0002f>
          at System.NullReferenceException:.ctor <0x0002b>
          at System.Object:runtime_invoke_dynamic <0x00127>
          at <unknown> <0xffffffff>
          at UIKit.UIApplication:xamarin_UIApplicationMain <0x00007>
          at UIKit.UIApplication:UIApplicationMain <0x00063>
          at UIKit.UIApplication:Main <0x0013b>
          at MySingleView.Application:Main <0x00097>
          at System.Object:runtime_invoke_dynamic <0x00127>
=================================================================
make: *** [run-test] Abort trap: 6

The same code works fine with /p:MtouchDebug=false or in the Release configuration.

I'm not sure if this is a bug in Mono or in Xamarin. It seems to be similar to #47121 and dotnet/macios#7742.

/cc @akoeplinger @ivanpovazan @rolfbjarne

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions