Skip to content

🐛 [firebase_crashlytics] terminating with uncaught exception of type std::__1::system_error: mutex lock failed: Invalid argument #7449

@Tom3652

Description

@Tom3652

Bug report

Describe the bug

I am getting this crash on iOS from Crashlytics and it seems to be an actual crash of the firebase_crashlytics plugin.
Here is the trace :

Crashed: io.flutter.1.ui
0  FirebaseCrashlytics            0x1f44c FIRCLSProcessRecordAllThreads + 184
1  FirebaseCrashlytics            0x1f82c FIRCLSProcessRecordAllThreads + 1176
2  FirebaseCrashlytics            0x167f0 FIRCLSHandler + 48
3  FirebaseCrashlytics            0x10c78 __FIRCLSExceptionRecord_block_invoke + 92
4  libdispatch.dylib              0x4660 _dispatch_client_callout + 20
5  libdispatch.dylib              0x138b4 _dispatch_lane_barrier_sync_invoke_and_complete + 56
6  FirebaseCrashlytics            0x10414 FIRCLSExceptionRecord + 216
7  FirebaseCrashlytics            0x100b0 FIRCLSTerminateHandler() + 600
8  libc++abi.dylib                0x12f58 std::__terminate(void (*)()) + 20
9  libc++abi.dylib                0x15efc __cxa_rethrow + 148
10 libobjc.A.dylib                0x17e8c objc_exception_rethrow + 44
11 CoreFoundation                 0x1f4a4 CFRunLoopRunSpecific + 836
12 Flutter                        0x2f0f74 (Missing)
13 Flutter                        0x2f0788 (Missing)
14 libsystem_pthread.dylib        0x19a4 _pthread_start + 148
15 libsystem_pthread.dylib        0xea0 thread_start + 8

Capture d’écran 2021-12-01 à 16 34 30

Capture d’écran 2021-12-01 à 16 36 49

Capture d’écran 2021-12-01 à 16 40 44

It is marked by the fresh signal which really makes me think that this happened when crashlytics tried to send the report after another issue in a previous session.

Steps to reproduce

Unfortunately i have no idea how to reproduce this, it happened 4 times.
However, as i see an "Invalid Argument" exception, i can provide the way i am using firebase_crashlytics to catch various types of errors in my app :

void registerOutsiderErrors() {
  FlutterError.onError = (FlutterErrorDetails details) {
    FlutterError.presentError(details);
    FirebaseCrashlytics.instance.recordError(details.exception, details.stack);
  };
  Isolate.current.addErrorListener(RawReceivePort((pair) async {
    final List<dynamic> errorAndStacktrace = pair;
    await FirebaseCrashlytics.instance.recordError(
      errorAndStacktrace.first,
      errorAndStacktrace.last,
    );
  }).sendPort);
}

void main() async {
  runZonedGuarded(() async {
    WidgetsFlutterBinding.ensureInitialized();
    registerOutsiderErrors();
    await Firebase.initializeApp();
    runApp(const MyApp());
  }, (Object error, StackTrace stack) {
    FirebaseCrashlytics.instance.recordError(error, stack);
  });
}

And i am also using a custom method :

static void logError(dynamic error, {StackTrace? stackTrace, String? reason}) {
    FirebaseCrashlytics.instance.recordError(error, stackTrace ?? StackTrace.empty, reason: reason ?? "");
}

Maybe this is due to a null error as input ?

Expected behavior

The app should not crash.


Flutter doctor

Click To Expand
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-x64, locale fr-FR)
    • Flutter version 2.5.3 at /Users/foxtom/Desktop/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (7 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/foxtom/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.1, Build version 13A1030d
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.62.3)
    • VS Code at /Users/foxtom/Desktop/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • CPH1931 (mobile) • ee9b32b5 • android-arm64  • Android 10 (API 29)
    • macOS (desktop)  • macos    • darwin-x64     • macOS 12.0.1 21A559 darwin-x64
    • Chrome (web)     • chrome   • web-javascript • Google Chrome 96.0.4664.55

• No issues found!

Flutter dependencies

Click To Expand
Dart SDK 2.14.4
Flutter SDK 2.5.3
myappname 1.0.0+1

dependencies:
- app_settings 4.1.1 [flutter]
- app_tracking_transparency 2.0.2+1 [flutter]
- apple_maps_flutter 1.0.1 [flutter]
- auto_size_text 3.0.0 [flutter]
- badges 2.0.2 [flutter]
- cached_network_image 3.2.0 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- camera 0.9.4+5 [camera_platform_interface camera_web flutter pedantic quiver flutter_plugin_android_lifecycle]
- clipboard 0.1.3 [flutter]
- cloud_functions 3.1.1 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- connectivity_plus 2.1.0 [flutter connectivity_plus_platform_interface connectivity_plus_linux connectivity_plus_macos connectivity_plus_web connectivity_plus_windows]
- country_code_picker 2.0.2 [flutter modal_bottom_sheet collection universal_platform]
- crypto 3.0.1 [collection typed_data]
- cupertino_back_gesture 0.1.0 [flutter]
- cupertino_icons 1.0.4
- disk_space 0.2.1 [flutter]
- emoji_picker_flutter 1.0.8 [flutter shared_preferences]
- extended_image 5.1.3 [extended_image_library flutter meta]
- extended_tabs 2.3.0 [flutter]
- firebase_analytics 8.3.4 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta]
- firebase_auth 3.2.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.10.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.3.0 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_database 8.1.0 [firebase_core firebase_database_platform_interface firebase_database_web flutter]
- firebase_dynamic_links 3.0.1 [firebase_core flutter]
- firebase_messaging 11.1.0 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_performance 0.7.1+4 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter]
- firebase_storage 10.1.0 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_app_badger 1.3.0 [flutter]
- flutter_arc_text 0.5.0 [characters flutter]
- flutter_contacts 1.1.1+2 [flutter]
- flutter_facebook_auth 3.5.6+2 [flutter flutter_facebook_auth_platform_interface flutter_facebook_auth_web]
- flutter_ffmpeg 0.4.2 [flutter]
- flutter_image_compress 1.1.0 [flutter]
- flutter_launcher_icons 0.9.2 [args image path yaml]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- flutter_native_text_input 1.1.0 [flutter]
- flutter_sound_lite 8.4.2 [path_provider recase uuid provider path synchronized logger flutter flutter_sound_platform_interface flutter_sound_web]
- flutter_staggered_grid_view 1.0.0 [flutter]
- flutter_svg 0.23.0+1 [flutter meta path_drawing vector_math xml]
- geocoding 2.0.1 [flutter geocoding_platform_interface]
- geolocator 8.0.0 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web]
- google_fonts 2.1.0 [flutter http path_provider crypto]
- google_maps_flutter 2.1.1 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface]
- google_mobile_ads 1.0.0 [meta flutter]
- google_sign_in 5.2.1 [flutter google_sign_in_platform_interface google_sign_in_web meta]
- hive 2.0.4 [meta crypto]
- hive_flutter 1.1.0 [flutter hive path_provider path]
- http 0.13.4 [async http_parser meta path]
- image_editor 1.0.2 [flutter]
- in_app_review 2.0.3 [flutter in_app_review_platform_interface]
- intl 0.17.0 [clock path]
- logger 1.1.0
- native_admob_flutter 1.5.0 [flutter]
- path 1.8.0
- path_provider 2.0.7 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- percent_indicator 3.4.0 [flutter]
- perfect_volume_control 1.0.5 [flutter]
- permission_handler 8.3.0 [flutter meta permission_handler_platform_interface]
- photo_manager 1.3.10 [flutter]
- provider 6.0.1 [collection flutter nested]
- pull_to_refresh 2.0.0 [flutter]
- rive 0.7.33 [collection flutter graphs http meta]
- scrollable_positioned_list 0.2.3 [flutter collection]
- share_plus 3.0.4 [meta mime flutter share_plus_platform_interface share_plus_linux share_plus_macos share_plus_windows share_plus_web]
- shared_preferences 2.0.9 [flutter meta shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- sign_in_with_apple 3.3.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web]
- sliver_tools 0.2.5 [flutter]
- translator 0.1.7 [http]
- url_launcher 6.0.17 [flutter meta url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- uuid 3.0.5 [crypto]
- video_compress 3.1.1 [flutter]
- video_player 2.2.7 [flutter meta video_player_platform_interface video_player_web html]
- video_thumbnail 0.4.3 [flutter]
- visibility_detector 0.2.2 [flutter]

dev dependencies:
- build_runner 2.1.5 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_lints 1.0.4 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- hive_generator 1.1.1 [build source_gen hive analyzer source_helper]

transitive dependencies:
- _fe_analyzer_shared 31.0.0 [meta]
- analyzer 2.8.0 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.1.6 [crypto path]
- args 2.3.0
- async 2.8.1 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.1.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.0.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.5 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.2 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.1.3 [built_collection collection fixnum meta]
- cached_network_image_platform_interface 1.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.1 [flutter flutter_cache_manager cached_network_image_platform_interface]
- camera_platform_interface 2.1.1 [cross_file flutter meta plugin_platform_interface stream_transform]
- camera_web 0.2.1+1 [camera_platform_interface flutter flutter_web_plugins stream_transform]
- characters 1.1.0
- charcode 1.3.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- cli_util 0.3.5 [meta path]
- clock 1.1.0
- cloud_functions_platform_interface 5.0.14 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.1.1 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.1.0 [built_collection built_value collection matcher meta]
- collection 1.15.0
- connectivity_plus_linux 1.1.1 [flutter connectivity_plus_platform_interface meta nm]
- connectivity_plus_macos 1.2.1 [connectivity_plus_platform_interface flutter]
- connectivity_plus_platform_interface 1.1.1 [flutter meta plugin_platform_interface]
- connectivity_plus_web 1.1.0+1 [connectivity_plus_platform_interface flutter_web_plugins flutter]
- connectivity_plus_windows 1.2.0 [connectivity_plus_platform_interface flutter]
- convert 3.0.1 [typed_data]
- cross_file 0.3.2 [flutter js meta]
- csslib 0.17.1 [source_span]
- dart_style 2.2.0 [analyzer args path pub_semver source_span]
- dbus 0.6.6 [args ffi meta xml]
- extended_image_library 3.1.0 [crypto flutter http_client_helper path path_provider]
- fake_async 1.2.0 [clock collection]
- ffi 1.1.2
- file 6.1.2 [meta path]
- firebase 9.0.2 [http http_parser js]
- firebase_analytics_platform_interface 2.0.1 [flutter meta]
- firebase_analytics_web 0.3.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_auth_platform_interface 6.1.4 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 3.2.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.1.0 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.2.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.1.6 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_platform_interface 0.1.0+3 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_database_web 0.1.1 [firebase_core firebase_core_web firebase_database_platform_interface flutter flutter_web_plugins js]
- firebase_messaging_platform_interface 3.0.9 [firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 2.1.0 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- firebase_performance_platform_interface 0.0.1+7 [firebase_core flutter plugin_platform_interface]
- firebase_performance_web 0.0.2 [firebase firebase_performance_platform_interface flutter flutter_web_plugins]
- firebase_storage_platform_interface 4.0.6 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.1.0 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.0.0
- flutter_blurhash 0.6.0 [flutter meta pedantic]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_facebook_auth_platform_interface 2.7.0 [flutter plugin_platform_interface]
- flutter_facebook_auth_web 2.6.0+2 [flutter flutter_web_plugins js flutter_facebook_auth_platform_interface]
- flutter_plugin_android_lifecycle 2.0.5 [flutter]
- flutter_sound_platform_interface 8.4.2 [flutter meta plugin_platform_interface logger]
- flutter_sound_web 8.4.2 [flutter_sound_platform_interface flutter logger flutter_web_plugins meta js]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- frontend_server_client 2.1.2 [async path]
- geocoding_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- geolocator_android 3.0.0+4 [flutter geolocator_platform_interface]
- geolocator_apple 2.0.0+2 [flutter geolocator_platform_interface]
- geolocator_platform_interface 3.0.0+1 [flutter plugin_platform_interface vector_math meta]
- geolocator_web 2.1.0 [flutter flutter_web_plugins geolocator_platform_interface]
- glob 2.0.2 [async collection file path string_scanner]
- google_maps_flutter_platform_interface 2.1.3 [collection flutter meta plugin_platform_interface stream_transform]
- google_sign_in_platform_interface 2.1.0 [flutter meta quiver]
- google_sign_in_web 0.10.0+3 [flutter flutter_web_plugins google_sign_in_platform_interface js meta]
- graphs 2.1.0 [collection]
- html 0.15.0 [csslib source_span]
- http_client_helper 2.0.2 [http]
- http_multi_server 3.0.1 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image 3.1.0 [archive meta xml]
- in_app_review_platform_interface 2.0.2 [flutter url_launcher plugin_platform_interface platform]
- io 1.0.3 [meta path string_scanner]
- js 0.6.3
- json_annotation 4.4.0 [meta]
- lints 1.0.1
- logging 1.0.2
- matcher 0.12.10 [stack_trace]
- meta 1.7.0
- mime 1.0.1
- modal_bottom_sheet 2.0.0 [flutter]
- nested 1.0.0 [flutter]
- nm 0.4.1 [dbus]
- octo_image 1.0.1 [flutter flutter_blurhash]
- package_config 2.0.2 [path]
- path_drawing 0.5.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.2.1 [vector_math meta]
- path_provider_android 2.0.9 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.7 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.2 [flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.3 [flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.4 [ffi flutter meta path path_provider_platform_interface win32]
- pedantic 1.11.1
- permission_handler_platform_interface 3.7.0 [flutter meta plugin_platform_interface]
- petitparser 4.4.0 [meta]
- platform 3.0.2
- plugin_platform_interface 2.0.2 [meta]
- pool 1.5.0 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.0 [collection meta]
- pubspec_parse 1.1.0 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.0.1+1 [matcher]
- recase 4.0.0
- rxdart 0.27.3
- share_plus_linux 2.0.4 [share_plus_platform_interface file flutter meta url_launcher]
- share_plus_macos 2.0.2 [share_plus_platform_interface flutter]
- share_plus_platform_interface 2.0.1 [flutter meta mime plugin_platform_interface]
- share_plus_web 2.0.4 [share_plus_platform_interface url_launcher flutter flutter_web_plugins meta]
- share_plus_windows 2.0.3 [share_plus_platform_interface flutter meta url_launcher]
- shared_preferences_android 2.0.9 [flutter meta shared_preferences_platform_interface]
- shared_preferences_ios 2.0.8 [flutter meta shared_preferences_platform_interface]
- shared_preferences_linux 2.0.3 [file flutter meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 2.0.2 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.2 [flutter flutter_web_plugins meta shared_preferences_platform_interface]
- shared_preferences_windows 2.0.3 [file flutter meta path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.2.0 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta]
- sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js]
- sky_engine 0.0.99
- source_gen 1.2.0 [analyzer async build dart_style glob meta path source_span yaml]
- source_helper 1.3.0 [analyzer collection source_gen]
- source_span 1.8.1 [collection path term_glyph]
- sqflite 2.0.0+4 [flutter sqflite_common path]
- sqflite_common 2.0.1+1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- synchronized 3.0.0
- term_glyph 1.2.0
- test_api 0.4.2 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.0 [collection]
- universal_platform 1.0.0+1
- url_launcher_android 6.0.13 [flutter meta url_launcher_platform_interface]
- url_launcher_ios 6.0.13 [flutter meta url_launcher_platform_interface]
- url_launcher_linux 2.0.2 [flutter]
- url_launcher_macos 2.0.2 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.5 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.2 [flutter]
- vector_math 2.1.0
- video_player_platform_interface 4.2.0 [flutter flutter_test meta]
- video_player_web 2.0.4 [flutter flutter_web_plugins meta video_player_platform_interface]
- watcher 1.0.1 [async path]
- web_socket_channel 2.1.0 [async crypto stream_channel]
- win32 2.3.1 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 5.3.1 [collection meta petitparser]
- yaml 3.1.0 [collection source_span string_scanner]

Metadata

Metadata

Assignees

No one assigned

    Labels

    resolution: fixedA fix has been merged or is pending merge from a PR.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions