Baseflow / Baseflow/flutter_cache_manager
DatabaseException(attempt to re-open an already-closed object)
- 主要语言
- Dart
- 星标
- 809
- 派生
- 510
- 平均合并
- 6 分钟
- 30 天内合并 PR
- 1
描述
## 🐛 Bug Report
Getting DatabaseException(attempt to re-open an already-closed object
flutter_cache_manager(v3.3.0) is indirectly used in our app because we use CachedNetworkImageProvider to display images in our app
We get the following exception in our app from some of our customer devices. We do not have repro steps. We are using v3.3.0. flutter_cache_manager is indirectly used in our app because we use CachedNetworkImageProvider
`DatabaseException(attempt to re-open an already-closed object: SQLiteDatabase: /data/user/0/ourapp_bundle_removed/files/libCachedImageData.db) sql 'SELECT * FROM cacheObject WHERE key = ?' args [https://cdnimages.ourappdomain_removed.com/3fe587d7369f7f0784881...]
Stack trace:
#0 wrapDatabaseException (package:sqflite/src/exception_impl.dart:11)
#1 SqfliteDatabaseMixin.txnRawQuery. (package:sqflite_common/src/database_mixin.dart:559)
#2 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:33)
#3 SqfliteDatabaseMixin.txnSynchronized (package:sqflite_common/src/database_mixin.dart:490)
#4 CacheObjectProvider.get (package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart:110)
#5 CacheStore._getCacheDataFromDatabase (package:flutter_cache_manager/src/cache_store.dart:116)
`
### Expected behavior
This alert does not occur
### Reproduction steps
N/A
### Configuration
v3.3.0 of flutter_cache_manager
**Flutter Version:** 3.3.10
**Platform:**
- [ ] :iphone: iOS
- [ X] :robot: Android
贡献指南
调研方向
首先从 package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart:110 中的 CacheObjectProvider.get 开始,沿着 cache_store.dart:116 中的 CacheStore._getCacheDataFromDatabase 和 sqflite 堆栈追踪 Android 失败。尽管报告没有复现步骤,也要复现或隔离数据库已关闭的情况;完成标准是缓存查找期间不再发生异常。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- android, dart, sqlite
- 领域
- databases, mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100