bugsnag / bugsnag-flutter Goto Github PK
View Code? Open in Web Editor NEWBugSnag crash reporting for Flutter apps
Home Page: https://docs.bugsnag.com/platforms/flutter/
License: MIT License
BugSnag crash reporting for Flutter apps
Home Page: https://docs.bugsnag.com/platforms/flutter/
License: MIT License
Starting from Flutter 3.10.0, there is a check for a "Zone Mismatch". Considering that bugsnag.start()
creates a new zone, in cases where user wants to run WidgetsFlutterBinding.ensureInitialized();
there is a need to access the same zone. Otherwise, there will be zone mismatch error thrown.
^3.10.0
.3. Run the app and observe the framework error.
### Environment
- Bugsnag version: "2.4.0"
- Flutter version: "3.10.5"
- Flutter-first app or native app with Flutter component(s): Flutter-first
- iOS/Android version: iOS 14
- Simulator/emulator or physical device: Simulator
<!-- Error messages, if any -->
<details><summary>Error messages:</summary>
════════ Exception caught by Flutter framework ═════════════════════════════════
The following assertion was thrown during runApp:
Zone mismatch.
The Flutter bindings were initialized in a different zone than is now being used. This will likely cause confusion and bugs as any zone-specific configuration will inconsistently use the configuration of the original binding initialization zone or this zone based on hard-to-predict factors such as which zone was active when a particular callback was set.
It is important to use the same zone when calling ensureInitialized
on the binding as when calling runApp
later.
To make this warning fatal, set BindingBase.debugZoneErrorsAreFatal to true before the bindings are initialized (i.e. as the first statement in void main() { }
).
When the exception was thrown, this was the stack
#0 BindingBase.debugCheckZone.
binding.dart:497åc
#1 BindingBase.debugCheckZone
binding.dart:502
#2 runApp
binding.dart:1080
#3 main.
main.dart:120
#4 Bugsnag.attach.
client.dart:631
#5 Bugsnag._runWithErrorDetection.
client.dart:764
#10 Bugsnag._runWithErrorDetection
client.dart:763
#11 Bugsnag.attach
client.dart:629
(elided 4 frames from dart:async)
════════════════════════════════════════════════════════════════════════════════
</details>
When there is an enum value among the metadata values, an error is thrown pointing to stringifying the metadata. This happens with both the .leaveBreadcrumb()
and .notify()
methods.
I'm sending an OperationType
object as a metadata value in my workflow. Underneath, the library struggles with stringifying it. It's a simple enum, but it breaks logging and error reporting!
I was able to reproduce this with any enum.
As a workaround, currently, I always convert my enum to a string before passing it in.
enum TestEnum {
value1,
value2,
value3,
}
bugsnag.leaveBreadcrumb(
'message',
metadata: {'enum': TestEnum.value1},
type: BugsnagBreadcrumbType.request,
);
flutter: error: Converting object to an encodable object failed: Instance of 'BugsnagBreadcrumb'
flutter: stackTrace: #0 _JsonStringifier.writeObject (dart:convert/json.dart:793:7)
#1 _JsonStringifier.writeMap (dart:convert/json.dart:874:7)
#2 _JsonStringifier.writeJsonValue (dart:convert/json.dart:829:21)
#3 _JsonStringifier.writeObject (dart:convert/json.dart:784:9)
#4 _JsonStringStringifier.printOn (dart:convert/json.dart:982:17)
#5 _JsonStringStringifier.stringify (dart:convert/json.dart:967:5)
#6 JsonEncoder.convert (dart:convert/json.dart:345:30)
#7 JsonCodec.encode (dart:convert/json.dart:231:45)
#8 JSONMessageCodec.encodeMessage
message_codecs.dart:103
#9 JSONMethodCodec.encodeMethodCall
message_codecs.dart:139
#10 MethodChannel._invokeMethod
platform_channel.dart:304
#11 MethodChannel.invokeMethod
platform_channel.dart:491
#12 ChannelClient.leaveBreadcrumb (package:bugsnag_flutter/src/c<…>
If iTerm is left open, it stops the server from rebooting (as is scheduled).
This can be turned on manually in its preferences:
The preference (by looking at the plist before and after) seems to be:
PromptOnQuit = :false;
(I'm assuming you know the right way of setting user prefs - I don't as yet!).
Is there a way to integrate bugsnag_breadcrumbs_http
for capturing the network requests with GetConnect
from Getx
?
Is this plugin compatible with Windows , Linux and Mac ?
im getting this error
[ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: MissingPluginException(No implementation found for method start on channel com.bugsnag/client)
When importing bugsnag_flutter/bugsnag_flutter.dart
, internal Bugsnag models are exposed. App
, User
, Session
are class names commonly used within implementations. The import causes a conflict within Dart because now there are two User
classes exposed by different imports.
Describe the solution you'd like
BugsnagClient
, BugsnagUser
, BugsnagApp
.bugsnag_flutter.dart
(my personal choice; as a maintainer, the less I expose the more I can refactor without worrying about implementers).Describe alternatives you've considered
Generally I'll use show bugsnag
to restrict my access to just the global singleton, which is 95 percent the only thing I need (save BreadcrumbType
and BugsnagNavigatorObserver
).
Does this plugin support flutter web
When callingNavigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (context) => const Screen()), (route) => false)
, Bugsnag throws an exception somewhere in a method channel.
I was able to reproduce this with the default new Flutter project.
Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (context) => const Screen()), (route) => false)
https://codeberg.org/Ghoelian/bugsnag-navigate-issue
PlatformException(ClassCastException, org.json.JSONObject$1 cannot be cast to java.lang.String, [com.bugsnag.flutter.BugsnagFlutter.setContext(BugsnagFlutter.java:244), com.bugsnag.flutter.BugsnagFlutterPlugin$$ExternalSyntheticLambda6.invoke(Unknown Source:4), com.bugsnag.flutter.BugsnagFlutterPlugin.onMethodCall(BugsnagFlutterPlugin.java:66), io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267), io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292), io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319), io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12), android.os.Handler.handleCallback(Handler.java:938), android.os.Handler.dispatchMessage(Handler.java:99), android.os.Looper.loopOnce(Looper.java:201), android.os.Looper.loop(Looper.java:288), android.app.ActivityThread.main(ActivityThread.java:7891), java.lang.reflect.Method.invoke(Native Method), com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:568), com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1062)], null)
E/flutter (12718): #0 JSONMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:170:7)
E/flutter (12718): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)
E/flutter (12718): <asynchronous suspension>
E/flutter (12718):
When bugsnag record and sends error, even if i metadata into json or map i get this error.
By far the most common error getting reported for my app is a StateError. This overwhelmingly happens on iOS, and very rarely happens on Android (at a ratio of approximately 250 errors on iOS to 1 on Android). This error gets reported so frequently that bugsnag has rate limited errors from my app. This has been happening for months across multiple versions of Flutter.
Here's an example of the error:
StateError Bad state: No element
#0 _GrowableList.first (dart:core-patch/growable_array.dart:343)
#1 ChannelClient._createEvent (package:bugsnag_flutter/src/client.dart:526)
#2 ChannelClient._notifyInternal (package:bugsnag_flutter/src/client.dart:479)
#3 ChannelClient._onFlutterError (package:bugsnag_flutter/src/client.dart:466)
#4 FlutterError.reportError (package:flutter/src/foundation/assertions.dart:1184)
#5 ImageStreamCompleter.reportError (package:flutter/src/painting/image_stream.dart:733)
#6 MultiFrameImageStreamCompleter. (package:flutter/src/painting/image_stream.dart:862)
#7 _RootZone.runBinary (dart:async/zone.dart:1658)
#8 _FutureListener.handleError (dart:async/future_impl.dart:162)
#9 Future._propagateToListeners (dart:async/future_impl.dart:778)
#10 Future._propagateToListeners (dart:async/future_impl.dart:799)
#11 Future._completeError (dart:async/future_impl.dart:574)
#12 _completeOnAsyncError (dart:async-patch/async_patch.dart:318)
#13 _RootZone.runBinary (dart:async/zone.dart:1658)
#14 _FutureListener.handleError (dart:async/future_impl.dart:162)
#15 Future._propagateToListeners (dart:async/future_impl.dart:778)
#16 Future._propagateToListeners (dart:async/future_impl.dart:799)
#17 Future._completeError (dart:async/future_impl.dart:574)
#18 Future.wait (dart:async/future.dart:507)
#19 _RootZone.runBinary (dart:async/zone.dart:1658)
#20 _FutureListener.handleError (dart:async/future_impl.dart:162)
#21 Future._propagateToListeners (dart:async/future_impl.dart:778)
#22 Future._propagateToListeners (dart:async/future_impl.dart:799)
#23 Future._completeError (dart:async/future_impl.dart:574)
#24 Future._chainForeignFuture (dart:async/future_impl.dart:519)
#25 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#26 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
This error comes from the following line in the bugsnag_flutter library:
error.stacktrace
happens to be empty, so calling .first
will throw a StateError.
I forked the bugsnag_flutter repo and fixed that line. I don't know why error.stacktrace
is empty, but I have an idea of the order of events that leads to the StateError.
Since releasing a new version of my app with the forked repo yesterday, it has always happened because of an HttpException. Nearly all of those HttpExceptions were from a request for an image via network either timing out (HttpException Operation timed out
) or having its connection closed (HttpException Connection closed before full header was received
). The HttpException then gets sent to bugsnag for error reporting, and then bugsnag throws a StateError because of the line I mentioned.
I'm going to make a pull request with the fix I made in my forked repo.
This is, to me, more of a developer experience problem. As a bug, I consider it a minor one.
During development phases, when a hot-restarts is triggered, bugsnag.attach
throws the following exception:
IllegalStateException
bugsnag.attach() may not be called more than once
com.bugsnag.flutter.BugsnagFlutter.attach(BugsnagFlutter.java:57),
com.bugsnag.flutter.BugsnagFlutterPlugin$$ExternalSyntheticLambda1.invoke(Unknown Source:4),
com.bugsnag.flutter.BugsnagFlutterPlugin.onMethodCall(BugsnagFlutterPlugin.java:66),
io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262),
io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295),
io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319), io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12),
android.os.Handler.handleCallback(Handler.java:938), android.os.Handler.dispatchMessage(Handler.java:99),
android.os.Looper.loopOnce(Looper.java:201), android.os.Looper.loop(Looper.java:288),
android.app.ActivityThread.main(ActivityThread.java:7842), java.lang.reflect.Method.invoke(Native Method),
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548),
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Simple workaround, as we don't really need bugsnag during development stages: don't attach bugsnag during debug sessions.
if (kDebugMode) {
runApp(MyApp());
} else {
bugsnag.attach(runApp: () => runApp(MyApp()));
}
Hi Team,
I've simply followed the initial steps to add Bugsnag on my Flutter app and it didn't enable my app to start.
iOS: Error Details are attached below
Android: No error is issued, but the app freezes on the launch screen
as per steps on https://app.bugsnag.com/app/app/overview
import 'package:bugsnag_flutter/bugsnag_flutter.dart';
void main() => bugsnag.start(
apiKey: 'KEY',
runApp: () => runApp(const MyFlutterApp()),
);
[✓] Flutter (Channel stable, 3.0.3, on macOS 12.4 21F79 darwin-arm, locale en-AU)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.68.1)
[✓] Connected device (5 available)
[✓] HTTP Host Availability
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final settingsController = SettingsController(SettingsService());
await settingsController.loadSettings();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
return bugsnag.start(
apiKey: Config.budgsnagKey,
runApp: () => (MyApp(
settingsController: settingsController,
initialLink: initialLink
))
);
}
Launching lib/main.dart on iPhone in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: XXX
CocoaPods' output:
↳
Preparing
Analyzing dependencies
Inspecting targets to integrate
Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)
Finding Podfile changes
A bugsnag_flutter
- Flutter
- amplitude_flutter
- cloud_firestore
- device_info
- device_info_plus
- firebase_analytics
- firebase_auth
- firebase_core
- firebase_dynamic_links
- firebase_messaging
- flutter_appauth
- flutter_facebook_auth
- flutter_inappwebview
- flutter_native_image
- google_sign_in
- image_picker_ios
- mixpanel_flutter
- package_info_plus
- path_provider_ios
- sign_in_with_apple
- sqflite
- url_launcher_ios
Fetching external sources
-> Fetching podspec for `Flutter` from `Flutter`
-> Fetching podspec for `amplitude_flutter` from `.symlinks/plugins/amplitude_flutter/ios`
-> Fetching podspec for `bugsnag_flutter` from `.symlinks/plugins/bugsnag_flutter/ios`
-> Fetching podspec for `cloud_firestore` from `.symlinks/plugins/cloud_firestore/ios`
cloud_firestore: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
-> Fetching podspec for `device_info` from `.symlinks/plugins/device_info/ios`
-> Fetching podspec for `device_info_plus` from `.symlinks/plugins/device_info_plus/ios`
-> Fetching podspec for `firebase_analytics` from `.symlinks/plugins/firebase_analytics/ios`
firebase_analytics: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
-> Fetching podspec for `firebase_auth` from `.symlinks/plugins/firebase_auth/ios`
firebase_auth: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
-> Fetching podspec for `firebase_core` from `.symlinks/plugins/firebase_core/ios`
firebase_core: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
-> Fetching podspec for `firebase_dynamic_links` from `.symlinks/plugins/firebase_dynamic_links/ios`
firebase_dynamic_links: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
-> Fetching podspec for `firebase_messaging` from `.symlinks/plugins/firebase_messaging/ios`
firebase_messaging: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
-> Fetching podspec for `flutter_appauth` from `.symlinks/plugins/flutter_appauth/ios`
-> Fetching podspec for `flutter_facebook_auth` from `.symlinks/plugins/flutter_facebook_auth/ios`
-> Fetching podspec for `flutter_inappwebview` from `.symlinks/plugins/flutter_inappwebview/ios`
-> Fetching podspec for `flutter_native_image` from `.symlinks/plugins/flutter_native_image/ios`
-> Fetching podspec for `google_sign_in` from `.symlinks/plugins/google_sign_in/ios`
-> Fetching podspec for `image_picker_ios` from `.symlinks/plugins/image_picker_ios/ios`
-> Fetching podspec for `mixpanel_flutter` from `.symlinks/plugins/mixpanel_flutter/ios`
-> Fetching podspec for `package_info_plus` from `.symlinks/plugins/package_info_plus/ios`
-> Fetching podspec for `path_provider_ios` from `.symlinks/plugins/path_provider_ios/ios`
-> Fetching podspec for `sign_in_with_apple` from `.symlinks/plugins/sign_in_with_apple/ios`
-> Fetching podspec for `sqflite` from `.symlinks/plugins/sqflite/ios`
-> Fetching podspec for `url_launcher_ios` from `.symlinks/plugins/url_launcher_ios/ios`
Resolving dependencies of `Podfile`
CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update
CDN: trunk Relative path: all_pods_versions_f_4_d.txt exists! Returning local because checking is only performed in repo update
CDN: trunk Relative path: Specs/f/4/d/Amplitude/8.10.0/Amplitude.podspec.json exists! Returning local because checking is only performed in repo update
CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update
――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
### Command
```
/usr/local/bin/pod install --verbose
```
### Report
* What did you do?
* What did you expect to happen?
* What happened instead?
### Stack
```
CocoaPods : 1.11.3
Ruby : ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]
RubyGems : 3.0.3.1
Host : macOS 12.4 (21F79)
Xcode : 13.4.1 (13F100)
Git : git version 2.34.0
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : trunk - CDN - https://cdn.cocoapods.org/
```
### Plugins
```
cocoapods-deintegrate : 1.0.5
cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.1
cocoapods-trunk : 1.6.0
cocoapods-try : 1.2.0
```
### Podfile
```ruby
# Uncomment this line to define a global platform for your project
platform :ios, '11.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
```
### Error
```
LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried: '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:5:in `rescue in <top (required)>'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:2:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/ethon-0.15.0/lib/ethon.rb:3:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:440:in `download_typhoeus_impl_async'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:372:in `download_and_save_with_retries_async'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:365:in `download_file_async'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:338:in `download_file'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:284:in `ensure_versions_file_loaded'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:208:in `search'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/source/aggregate.rb:83:in `block in search'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/source/aggregate.rb:83:in `select'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/source/aggregate.rb:83:in `search'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:416:in `create_set_from_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:385:in `find_cached_set'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:360:in `specifications_for_dependency'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:165:in `search_for'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:274:in `block in sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:267:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:267:in `sort_by'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:267:in `sort_by!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:267:in `sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:60:in `block in sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:77:in `with_no_such_dependency_error_handling'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:59:in `sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:754:in `push_state_for_requirements'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:744:in `require_nested_dependencies_for'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:727:in `activate_new_spec'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:684:in `attempt_to_activate'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:254:in `process_topmost_state'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:182:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolver.rb:43:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/resolver.rb:94:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:1078:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:1076:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:124:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:416:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:241:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:240:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:161:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
```
――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=dlopen%28%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle%2C+0x0009%29%3A+tried%3A+%27%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle%27+%28mach-o+file%2C+but+is+an+incompatible+architecture+%28have+%27x86_64%27%2C+need+%27arm64e%27%29%29+-+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle&type=Issues
If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new
Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
Don't forget to anonymize any private data!
Looking for related issues on cocoapods/cocoapods...
Error output from CocoaPods:
↳
Searching for inspections failed: undefined method `map' for nil:NilClass
Exception: Error running pod install
Exited
The Flutter bindings were initialized in a different zone than is now being used. This will likely cause confusion and bugs as any zone-specific configuration will inconsistently use the configuration of the original binding initialization zone or this zone based on hard-to-predict factors such as which zone was active when a particular callback was set.
It is important to use the same zone when calling ensureInitialized
on the binding as when calling runApp
later.
To make this warning fatal, set BindingBase.debugZoneErrorsAreFatal to true before the bindings are initialized (i.e. as the first statement in void main() { }
).
When the exception was thrown, this was the stack
#0 BindingBase.debugCheckZone.
binding.dart:497
#1 BindingBase.debugCheckZone
binding.dart:502
#2 runApp
binding.dart:1080
#3 main.
main.dart:40
════════════════════════════════════════════════════════════════════════════════
Future main() => bugsnag.start(
apiKey: 'mykey',
runApp: () async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
await configureDependencies();
// FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
runApp(const MyApp());
},
);
zone mismatched error for this code
Frequent errors causing the main thread to stall.
E [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(NullPointerException, Attempt to invoke virtual method 'boolean com.bugsnag.android.InternalHooks.shouldDiscardError(org.json.JSONObject)' on a null object reference, [com.bugsnag.flutter.BugsnagFlutter.createEvent(BugsnagFlutter.java:365), com.bugsnag.flutter.BugsnagFlutterPlugin$$ExternalSyntheticLambda0.invoke(Unknown Source:4), com.bugsnag.flutter.BugsnagFlutterPlugin.onMethodCall(BugsnagFlutterPlugin.java:66), io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267), io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292), io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319), io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12), android.os.Handler.handleCallback(Handler.java:983), android.os.Handler.dispatchMessage(Handler.java:99), android.os.Looper.loopOnce(Looper.java:226), android.os.Looper.loop(Looper.java:328), android.app.ActivityThread.main(ActivityThread.java:9164), java.lang.reflect.Method.invoke(Native Method), com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586), com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)], null)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 24754, tid: 16751, name 2.ui
os: android arch: arm64 comp: yes sim: no
build_id: '083986ec421ca368b3b58b5e9285a7a9'
isolate_dso_base: 6fb6aee000, vm_dso_base: 6fb6aee000
isolate_instructions: 6fb6eb4940, vm_instructions: 6fb6e9e000
#00 abs 0000006fb77a3b67 virt 0000000000cb5b67 _kDartIsolateSnapshotInstructions+0x8ef227
#01 abs 0000006fb792c6df virt 0000000000e3e6df _kDartIsolateSnapshotInstructions+0xa77d9f
<asynchronous suspension>
#02 abs 0000006fb782017f virt 0000000000d3217f _kDartIsolateSnapshotInstructions+0x96b83f
<asynchronous suspension>
#03 abs 0000006fb781f967 virt 0000000000d31967 _kDartIsolateSnapshotInstructions+0x96b027
<asynchronous suspension>
This official package is published under the community package name and has some different API access. If you're upgrading from the community package, please use the migration guide below:
bugsnag_flutter/bugsnag.dart
is now bugsnag_flutter/bugsnag_flutter.dart
Platform.isAndroid ? androidApiKey : iosApiKey
when using bugsnag.start
.setUser
accepts a named ID instead of an unnamed ID in the first positionBugsnagObserver
is now BugsnagNavigatorObserver
Bugsnag.instance
is now a global bugsnag
Bugsnag.instance.recordError
is now bugsnag.notify
Bugsnag.instance.recordFlutterError
should be translated as bugsnag.notify(error.exception, error.stack)
BugsnagBreadcrumb
is now BreadcrumbType
The package depends on http
version 0.13.4
. The latest http
version at the moment is 1.2.0
.
Version resolving is failing due to this. Had to downgrade my project's http version. The major http version was bumped 8 months ago. Please update it asap.
I keep running into this error randomly with no true report as to what the cause may be.
There is no clear way to reproduce this error as it occurs randomly and when not expected.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.