Getting a DatabaseException on startup: (database is locked (code 5 SQLITE_BUSY[5]))
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- dart, flutter, sqlite
- Ambito
- databases, mobile-dev
Direzione di ricerca
Riproduci il fallimento del primo caricamento su Android con la versione 3.3.1, quindi parti da CacheObjectProvider.open in package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart e da CacheStore._getCacheDataFromDatabase in cache_store.dart. Segui il percorso BEGIN EXCLUSIVE attraverso sqflite e determina perché il database della cache è bloccato durante l’avvio; il lavoro è completato quando il primo caricamento apre la cache senza un’eccezione SQLITE_BUSY non gestita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
🐛 Bug Report
Hi, I'm having a DatabaseException on the application's first load, when it tries to setup the database for the cache. The cache stays unusable for this first load, but the second time the application is opened it can work this out and then it will continue working every time.
This is a logcat output from Android:
09-05 16:18:26.154 19280 19371 I flutter : error DatabaseException(database is locked (code 5 SQLITE_BUSY[5])) sql 'BEGIN EXCLUSIVE' args [] during open, closing...
09-05 16:18:26.165 19280 19371 E flutter : [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: DatabaseException(database is locked (code 5 SQLITE_BUSY[5])) sql 'BEGIN EXCLUSIVE' args []
09-05 16:18:26.165 19280 19371 E flutter : #0 wrapDatabaseException (package:sqflite/src/exception_impl.dart:11)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #1 SqfliteDatabaseMixin.txnSynchronized (package:sqflite_common/src/database_mixin.dart:465)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #2 SqfliteDatabaseMixinExt.txnBeginTransaction (package:sqflite_common/src/database_mixin.dart:353)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #3 SqfliteDatabaseMixin.beginTransaction (package:sqflite_common/src/database_mixin.dart:719)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #4 SqfliteDatabaseMixinExt._txnTransaction (package:sqflite_common/src/database_mixin.dart:330)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #5 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:33)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #6 SqfliteDatabaseMixin.txnSynchronized (package:sqflite_common/src/database_mixin.dart:490)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #7 SqfliteDatabaseMixin.doOpen (package:sqflite_common/src/database_mixin.dart:939)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #8 SqfliteDatabaseOpenHelper.openDatabase (package:sqflite_common/src/database.dart:46)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #9 SqfliteDatabaseFactoryMixin.openDatabase.<anonymous closure> (package:sqflite_common/src/factory_mixin.dart:110)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #10 ReentrantLock.synchronized.<anonymous closure> (package:synchronized/src/reentrant_lock.dart:37)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #11 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:33)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #12 CacheObjectProvider.open (package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart:30)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
09-05 16:18:26.165 19280 19371 E flutter : #13 CacheStore._getCacheDataFromDatabase (package:flutter_cache_manager/src/cache_store.dart:112)
09-05 16:18:26.165 19280 19371 E flutter : <asynchronous suspension>
At the moment I only tried this on Android, and I'm using version 3.3.1.
My first guess is that some other library may be using Sqlite at the same time, or some other thing like that, but anyways that doesn't seems to be a good reason to crash. Is this issue known?
Thank you
- Lingua principale
- Dart
- Stelle
- 810
- Fork
- 510
- Merge medio
- 2g 2h
- PR unite (30g)
- 11
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Baseflow/flutter_cache_manager
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Baseflow/flutter_cache_manager#450 · 9 commenti · 8 reazioni ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
Baseflow/flutter_cache_manager#507 · 1 commento ·
-
sqflite_android update Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 30/100
Baseflow/flutter_cache_manager#501 · 1 commento · 3 reazioni ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Baseflow/flutter_cache_manager#500 · 1 commento · 3 reazioni ·
Tutte le issue di Baseflow/flutter_cache_manager
Issue simili
-
ui/ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
error Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Bug Flutter User Feedbacks
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
getsentry/sentry-dart#4042 · 1 commento ·
-
team-infra
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100