Baseflow / Baseflow/flutter_cache_manager

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

Aperta
#427 0 commenti 3 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Dart
Stelle
809
Fork
510
Merge medio
6m
PR unite (30g)
1

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by tracing the Android failure from CacheObjectProvider.get in package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart:110 through CacheStore._getCacheDataFromDatabase at cache_store.dart:116 and the sqflite stack. Reproduce or isolate the closed-database condition despite the report having no reproduction steps; done means the exception no longer occurs during cache lookups.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, dart, sqlite
Ambito
databases, mobile-dev
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.