-
Notifications
You must be signed in to change notification settings - Fork 955
Description
Hello,
sorry if this is not a proper bug report, but I am out of ideas and thought I'd try and ask for help and advice here.
Our team is maintaining an ionic app that uses firestore with the firebase js sdk.
The persistence is activated on firestore: this is a requirement for the app, it has to be able to save important data while being offline for a long period of time.
For a while now, we've been getting different flavours of the following error:
FIRESTORE (6.0.2) INTERNAL ASSERTION FAILED: AsyncQueue is already failed.
- An internal error was encountered in the Indexed Database server
- The transaction was aborted, so the request cannot be fulfilled
- Transaction timed out due to inactivity
We haven't been able to reproduce those errors consistently on our own devices, and this thread #1670 made us hope that the new iOS version would solve the problem, so we haven't been dealing with it directly and hoped that it would disappear after the iOS update.
However, now we have customers using iOS 13 and iPadOS and they're still getting "AsyncQueue is already failed" errors, expect with new messages:
- Attempt to get a record from database without an in-progress transaction
- Attempt to open a cursor in database without an in-progress transaction
We have run some tests on the device and were able to reproduce those new errors more reliably by just waiting for the iPad to lock itself and then waking it up.
It looks like updating to firebase sdk 6.6 makes this new kind of error disappear (on our testing device at least) but we have no idea if the previous errors are still there or not.
Digging into the bug reports more, we've seen that some of the "AsyncQueue is already failed" errors had actually also been coming from Android devices, so it looks like the problem is more complicated than we thought.
Can anyone tell me if firestore will work reliably on all platforms if we update to 6.6, or if there is anything else we can do to fix the problem ?
We are considering dropping firestore completely, but we want to make sure there is no solution before starting working on an alternative.
[REQUIRED] Describe your environment
- ionic info:
Ionic:
ionic (Ionic CLI) : 4.1.0 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.5
@ionic/app-scripts : 3.2.3
Cordova:
cordova (Cordova CLI) : 6.5.0
Cordova Platforms : android 6.4.0, ios 4.5.5
Cordova Plugins : cordova-plugin-ionic-webview 1.2.1, (and 19 other plugins)
System:
Android SDK Tools : 26.1.1
ios-deploy : 1.9.2
NodeJS : v8.12.0 (/Users/yann/.nvm/versions/node/v8.12.0/bin/node)
npm : 6.9.0
OS : macOS
Xcode : Xcode 11.0 Build version 11A420a
- Firebase SDK version: 6.0.2
- Firebase Product: firestore (auth and storage also used)
[REQUIRED] Describe the problem
Several INTERNAL ASSERTION FAILED: AsyncQueue is already failed errors happening on different platforms.
Steps to reproduce:
On iPadOS, let the device lock itself, then wake it up, firestore will often stop working after that (looks like it breaks auth to).
Could not find another way to reproduce consistently but it does happen quite often in other contexts.