Baseflow / Baseflow/flutter_cache_manager

Bad state: Future already completed

オープン
#400 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Dart
スター
809
フォーク
510
平均マージ
6分
マージ済み PR(30日)
1

説明

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)

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

package:flutter_cache_manager/src/cache_managers/image_cache_manager.dart:161 から始め、Flutter の ImageStreamCompleter.setImage を通じて _decodeImage callback を追跡します。可能であれば画像読み込みの失敗を再現し、同じ Future が複数回完了するタイミングを特定します。画像のデコード中に報告された stack trace が発生しなくなり、該当する動作が適切なテストでカバーされていれば(存在する場合)、完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
dart, flutter
領域
mobile-dev
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。