Baseflow / Baseflow/flutter_cache_manager

SqfliteDatabaseException attempt to write a readonly database (code 1032 SQLITE_READONLY_DBMOVED[1032]))

Ouverte
#359 2 commentaires 4 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

When using the flutter_cache_manager within Dart 2.15 within Flutter 2 I get sometime this Fail with SQLite.

Error:
SqfliteDatabaseException
DatabaseException(attempt to write a readonly database (code 1032 SQLITE_READONLY_DBMOVED[1032])) sql 'UPDATE cacheObject SET url = ?, key = ?, relativePath = ?, eTag = ?, validTill = ?, touched = ?, length = ?, _id = ? WHERE _id = ?' args [https://asdf.de/img/start_aktion-1_mobil-opti...., https://asdf.de/img/start_aktion-1_mobil-opti...., 57dcb0d0-79e7-11ec-bb36-436c12859413.png, W/"16304a-17dc2bf19ff", 1643284306013, 1642679987235, 1454154, 1, 1]

### Expected behavior

I would like to have a non throwing Error behaviour with the Cache Manager.

### Reproduction steps

Call within InitState method something like this (async):

mainProvider.retrieveStartPageData(mta).then((value) async {
if (value != null) {
if (mainProvider.myHi.length > 0) {
for (var headerImage in mainProvider.myHi) {
await DefaultCacheManager().getSingleFile(
'${Env.value!.imgUrl}${headerImage.imageMobile}');
}
}
}
});

### Configuration

Dart: 2.15
Flutter 2.5

**Platform:**
- [x] :iphone: iOS
- [x] :robot: Android

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire les appels asynchrones à DefaultCacheManager().getSingleFile depuis initState sur iOS et Android avec les versions indiquées de Dart et Flutter, puis retracez la mise à jour SQLite qui émet SQLITE_READONLY_DBMOVED. La tâche est terminée lorsque l’échec intermittent est compris, que le gestionnaire de cache ne lève plus d’exception dans le scénario signalé et qu’une couverture de régression a été ajoutée.

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

Évaluation

Stack technique
dart, flutter, 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
35/100

Recevez les nouvelles issues par e-mail

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