Baseflow / Baseflow/flutter_cache_manager
DatabaseException(attempt to re-open an already-closed object)
- Lenguaje dominante
- Dart
- Estrellas
- 809
- Forks
- 510
- Merge medio
- 6 min
- PR fusionados (30 d)
- 1
Descripción
## 🐛 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
Guía de contribución
Línea de trabajo
Empieza rastreando el fallo de Android desde CacheObjectProvider.get en package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart:110, pasando por CacheStore._getCacheDataFromDatabase en cache_store.dart:116 y el stack de sqflite. Reproduce o aísla la condición de base de datos cerrada a pesar de que el informe no incluye pasos de reproducción; se considera terminado cuando la excepción ya no se produce durante las búsquedas de caché.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, dart, sqlite
- Área
- databases, mobile-dev
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100