Baseflow / Baseflow/flutter_cache_manager

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

Open
#359 2 comments 4 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
809
Forks
510
Avg merge
6m
Merged PRs (30d)
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

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the async DefaultCacheManager().getSingleFile calls from initState on iOS and Android with the stated Dart and Flutter versions, then trace the SQLite update that emits SQLITE_READONLY_DBMOVED. Done means the intermittent failure is understood and the cache manager no longer throws in the reported scenario, with regression coverage added.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter, sqlite
Domain
databases, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.