Baseflow / Baseflow/flutter_cache_manager

Bad state: Future already completed

Open
#400 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
809
Forks
510
Avg merge
6m
Merged PRs (30d)
1

Description

Bad state: Future already completed
0 _AsyncCompleter.complete (dart:async/future_impl.dart:35:31)
#1 _decodeImage. (package:flutter_cache_manager/src/cache_managers/image_cache_manager.dart:161:15)
#2 ImageStreamCompleter.setImage (package:flutter/src/painting/image_stream.dart:655:25)
#3 MultiFrameImageStreamCompleter._emitFrame (package:flutter/src/painting/image_stream.dart:998:5)
#4 MultiFrameImageStreamCompleter._handleAppFrame (package:flutter/src/painting/image_stream.dart:922:7)
#5 MultiFrameImageStreamCompleter._handleAppFrame (package:flutter/src/painting/image_stream.dart:915:3)
#6 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#7 SchedulerBinding.handleBeginFrame. (package:flutter/src/scheduler/binding.dart:1140:11)
#8 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)
#9 SchedulerBinding.handleBeginFrame (package:flutter/src/scheduler/binding.dart:1138:17)
#10 SchedulerBinding._handleBeginFrame (package:flutter/src/scheduler/binding.dart:1055:5)
#11 SchedulerBinding._handleBeginFrame (package:flutter/src/scheduler/binding.dart:1046:3)
#12 _rootRunUnary (dart:async/zone.dart:1414:13)
#13 _rootRunUnary (dart:async/zone.dart:1404:1)
#14 _CustomZone.runUnary (dart:async/zone.dart:1307:19)
#15 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1216:7)
#16 _invoke1 (dart:ui/hooks.dart:166:10)
#17 PlatformDispatcher._beginFrame (dart:ui/platform_dispatcher.dart:316:5)
#18 _beginFrame (dart:ui/hooks.dart:101:31)
#19 _beginFrame (dart:ui/hooks.dart:99:1)

Contributor guide

Open the contributing guide

Research direction

Start at package:flutter_cache_manager/src/cache_managers/image_cache_manager.dart:161 and trace the _decodeImage callback through Flutter's ImageStreamCompleter.setImage. Reproduce the image-loading failure if possible and determine when the same Future is completed more than once. Done means the reported stack trace no longer occurs during image decoding, with the affected behavior covered by an appropriate test if one exists.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.