Skip to content
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

Error swallowed: "The serialized keys and/or value are too large" #83

Closed
knpwrs opened this issue May 10, 2020 · 5 comments
Closed

Error swallowed: "The serialized keys and/or value are too large" #83

knpwrs opened this issue May 10, 2020 · 5 comments

Comments

@knpwrs
Copy link

knpwrs commented May 10, 2020

onabort and onerror are set to the same handler which rejects the promise with the value of transaction.error. Unfortunately, according to MDN, this property is always null in the case of an abort call. I had to replace these handlers with my own in order to see that I was running into an error that says, "DOMException: The serialized keys and/or value are too large."

image

@jakearchibald
Copy link
Owner

I think I know what the issue is here, but can you create a minimal reproduction of the issue so I can be sure? I'll also incorporate it into tests to avoid regressions in future.

@mcorner
Copy link

mcorner commented Sep 2, 2020

We are seeing null exceptions during get calls on Chrome. I am thinking it might be related to this. It is somewhat rare (I haven't been able to reproduce it myself), but if you @knpwrs have a potential pull or even just a code snippet, we can fork locally to try and recover the underlying error. Thanks.

@mcorner
Copy link

mcorner commented Sep 6, 2020

Something like this:

      transaction.onerror = () => reject(transaction.error);
      transaction.onabort = (event) => reject((<IDBRequest>event.target).error);

@mcorner
Copy link

mcorner commented Sep 11, 2020

Unfortunately, even with that change, I have certain users that randomly have get throw a null exception with no explanation whatsoever. I even put in a retry (5 times with a 1 second pause) and I still get exceptions. I can't replicate it locally, and it is driving me a bit bonkers. All Chrome users.

@jakearchibald
Copy link
Owner

Please reopen if you find a reliable way to reproduce the error (even if it needs to be run in a tight loop or whatever).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants