-
Notifications
You must be signed in to change notification settings - Fork 927
Uncaught exception in verifyNotFailed (Javascript, mostly iOS 12.2) #1733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I found a few problems with this issue:
|
Oh, one more data point: most of my website visitors do not trigger code that reads or writes to Firestore. So most of the visitors who trigger the verifyNotFailed exception only run this code in their browsers:
|
EDIT: Fixed link to github issue. Thanks for the report. This seems to be a regression in iOS 12.2 which is being tracked by #1670 and https://bugs.webkit.org/show_bug.cgi?id=197050. The only workaround for now is to not enable persistence. |
Sorry to hear about the problems you're running into. The issues described appear very similar to 2 problems that were reported recently:
Note that these two are separate issues with different causes, but they are triggered in a very similar manner -- sending the app to the background may result in a failure. This seems consistent with the way only some of the users experience the issue. Can you please provide some additional info?
|
My apologies; I don't have access to either an iOS 12.2 device or a Windows machine. I tried to reproduce the error on a virtual Windows machine on lambdatest.com, but was not able to. |
Environment
Describe the problem
About a quarter of my website visitors using iOS 12.2 and Safari 12.1 get this error, or about 400-500 out of 1,700 visitors. I have not heard any reports of failing functionality yet, but they are getting uncaught Javascript exceptions which are tracked by Google Analytics.
Steps to reproduce:
Sorry, I don't have access to an iOS 12.2 device. I only see the hundreds upon hundreds of these errors in the log.
Relevant Code:
When the exception occurs, the Javascript call stack is:
documentVisibilityHandler()
which called enqueueAndForget()
which called enqueue()
which called verifyNotFailed() where the exception occurred
Sometimes (less often) the call stack is:
handleDelayElapsed()
which called enqueueAndForget()
which called enqueue()
which called verifyNotFailed() where the exception occurred
Sometimes (less often) the call stack is:
windowUnloadHandler
which called enqueueAndForget()
which called enqueue()
which called verifyNotFailed() where the exception occurred
Other clients:
This error also occurs very occasionally in Windows and Android clients. When this happens, there is a better error message:
Error: FIRESTORE (5.9.4) INTERNAL ASSERTION FAILED: AsyncQueue is already failed
or
Error: FIRESTORE (5.9.4) INTERNAL ASSERTION FAILED: AsyncQueue is already failed: The transaction was aborted, so the request cannot be fulfilled.
My code to log Javascript errors in Google Analytics:
My Firebase configuration:
The text was updated successfully, but these errors were encountered: