-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Description
Is there an existing issue for this?
- I have searched the existing issues.
Which plugins are affected?
Crashlytics
Which platforms are affected?
iOS
Description
In iOS exception
and reason
passed to the FirebaseCrashlytics.recordError
differ from the flutter_error_exception
and flutter_error_reason
displayed in the Firebase Console reports on Key tab.
Example using the recordError
method:
FirebaseCrashlytics.instance.recordError(StateError('Illegal state error!'), reason: "onRefresh");
Open the Firebase console and find an error in the iOS:Crashlytics dashboard. In the error report, on the Keys tab, I see:
flutter_error_exception | Bad state: Illegal state error!
-- | --
flutter_error_reason | thrown Bad state: Illegal state error!. Error thrown onRefresh.
At the same time, in the Android:Crashlytics dashboard. In the error report on the "Key" tab I see:
flutter_error_exception | Bad state: Illegal state error!
-- | --
flutter_error_reason | thrown onRefresh
The problem is that in iOS the parameter flutter_error_reason
becomes not static, but dynamic, and in this form it cannot be used to search for error reports. This search query key:flutter_error_reason value:throw onRefresh
works for Android and does not work for iOS.
Reproducing the issue
void _refresh() {
try {
throw StateError('Illegal state error!');
} catch (error, stack) {
FirebaseCrashlytics.instance.recordError(
error,
stack,
reason: "onRefresh",
printDetails: true,
);
}
}
Firebase Core version
3.14.0
Flutter Version
3.29.3
Relevant Log Output
iOS
flutter: ----------------FIREBASE CRASHLYTICS----------------
flutter: The following exception was thrown onRefresh:
flutter: Bad state: Illegal state error!
flutter:
#0 __RefreshButtonState._refresh (package:sample/screens/wait/refresh_button.dart:52:7)
#1 _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1185:21)
#2 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:357:24)
#3 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:653:11)
#4 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:307:5)
#5 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:240:7)
#6 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:718:9)
#7 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:97:12)
#8 PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9)
#9 _LinkedHashMapMixin.forEach (dart:_compact_hash:763:13)
#10 PointerRouter._dispatchEventToRoutes (package:flutter/src/g<…>
flutter: ----------------------------------------------------
Android
I/flutter (16005): ----------------FIREBASE CRASHLYTICS----------------
I/flutter (16005): The following exception was thrown onRefresh:
I/flutter (16005): Bad state: Illegal state error!
I/flutter (16005): #0 __RefreshButtonState._refresh (package:sample/screens/wait/refresh_button.dart:52:7)
I/flutter (16005): #1 _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1185:21)
I/flutter (16005): #2 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:357:24)
I/flutter (16005): #3 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:653:11)
I/flutter (16005): #4 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:307:5)
I/flutter (16005): #5 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:240:7)
I/flutter (16005): #6 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:718:9)
I/flutter (16005): #7 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:97:12)
I/flutter (16005): #8 PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9)
I/flutter (16005): #9 _LinkedHashMapMixin.forEach (dart:_compact_hash:763:13)
I/flutter (16005): #10 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.
I/flutter (16005): ----------------------------------------------------
Flutter dependencies
Expand Flutter dependencies
snippet
Dart SDK 3.7.2
Flutter SDK 3.29.2
dependencies:
- firebase_analytics 11.5.0 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_core 3.14.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 4.3.7 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- dio 5.8.0+1 [async collection http_parser meta path dio_web_adapter]
transitive dependencies:
- firebase_analytics_platform_interface 4.4.0 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.10+13 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins]
- firebase_core_platform_interface 5.4.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.23.0 [firebase_core_platform_interface flutter flutter_web_plugins meta web]
- firebase_crashlytics_platform_interface 3.8.7 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_messaging 15.2.7 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- firebase_messaging_platform_interface 4.6.7 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.10.7 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins meta web]
Additional context and comments
No response