Baseflow / Baseflow/flutter_cached_network_image

Firebase crash report because of "Connection closed before full header was received"

Open
#778 11 comments 9 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
2.6k
Forks
731
Avg merge
3d 9h
Merged PRs (30d)
1

Description

## 🐛 Bug Report

This packages have some trouble when download multiple images on the same view.

This bug is evident when use this config on your app to log the error on Firebase Crashlytics:
`FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;`

So, how can we care of it to avoid those crashs ?

```stacktrace
Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: Connection closed before full header was received. Error thrown Instance of 'aA'.\
at .#0 FirebaseCrashlytics.recordError (package:firebase_crashlytics/src/firebase_crashlytics.dart:119:22)
at .#1 FirebaseCrashlytics.recordFlutterError (package:firebase_crashlytics/src/firebase_crashlytics.dart:141:12)
at .#2 FirebaseCrashlytics.recordFlutterFatalError (package:firebase_crashlytics/src/firebase_crashlytics.dart:156:12)
at .#3 FirebaseCrashlytics.recordFlutterFatalError (package:firebase_crashlytics/src/firebase_crashlytics.dart:154:3)
at .#4 FlutterError.reportError (package:flutter/src/foundation/assertions.dart:1184:14)
at .#5 ImageStreamCompleter.reportError (package:flutter/src/painting/image_stream.dart:733:20)
at .#6 new MultiImageStreamCompleter. (package:cached_network_image/src/image_provider/multi_image_stream_completer.dart:32:7)
at .#7 _RootZone.runBinaryGuarded (dart:async/zone.dart:1598:10)
at .#8 _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:358:15)
at .#9 _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:376:7)
at .#10 _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:280:7)
at .#11 _SyncStreamControllerDispatch._sendError (dart:async/stream_controller.dart:778:19)
at .#12 _StreamController._addError (dart:async/stream_controller.dart:656:7)
at .#13 _StreamController.addError (dart:async/stream_controller.dart:610:5)
at .#14 _AsyncStarStreamController.addError (dart:async-patch/async_patch.dart:227:16)
at .#15 _SuspendState._handleException (dart:async-patch/async_patch.dart:564:20)
at .#16 _SuspendState._createAsyncCallbacks.thenCallback (dart:async-patch/async_patch.dart:344:7)
at .#17 _RootZone.runUnary (dart:async/zone.dart:1653:54)
at .#18 _FutureListener.handleValue (dart:async/future_impl.dart:147:18)
at .#19 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:766:45)
at .#20 Future._propagateToListeners (dart:async/future_impl.dart:795:13)
at .#21 Future._completeWithValue (dart:async/future_impl.dart:566:5)
at .#22 Future._asyncCompleteWithValue. (dart:async/future_impl.dart:639:7)
at .#23 _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
at .#24 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
at .#25 _startMicrotaskLoop (dart:async/schedule_microtask.dart:44:1)
```

My environment
```
environment:
sdk: ">=2.18.0 <3.0.0"
flutter: "3.3.0"
```

### Expected behavior

Do not crash

### Reproduction steps

Create a page with a lot of images and open this page. Some of those images will not be loaded

### Configuration

**Version:** cached_network_image: ^3.2.2

**Platform:**
- [x] :iphone: iOS
- [x] :robot: Android

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.