Baseflow / Baseflow/flutter_cache_manager

DatabaseException(attempt to re-open an already-closed object)

Ouverte
#427 0 commentaires 3 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Dart
Étoiles
809
Forks
510
Merge moyen
6 min
PR mergées (30 j)
1

Description

## 🐛 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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par retracer l’échec Android depuis CacheObjectProvider.get dans package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart:110, en passant par CacheStore._getCacheDataFromDatabase dans cache_store.dart:116 et la stack sqflite. Reproduisez ou isolez la condition de base de données fermée malgré l’absence d’étapes de reproduction dans le rapport ; le travail est considéré comme terminé lorsque l’exception ne se produit plus lors des recherches dans le cache.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
android, dart, sqlite
Domaine
databases, mobile-dev
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.