Closed Bug 1310616 Opened 8 years ago Closed 8 years ago

IndexedDB stability issues in Firefox 47, 48 and possibly 49

Categories

(Core :: Storage: IndexedDB, defect, P2)

49 Branch
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: david.fahlander, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 OPR/40.0.2308.81

Steps to reproduce:

I'm sorry to not being able to give a reproduction story but various Dexie.js users are experiencing non-reproducable issues with the indexedDB support since Firefox version 47 and 48.

There is an open issue in Dexie.js about this with more details at: https://github.com/dfahlander/Dexie.js/issues/298




Actual results:

UnknownError is thrown

    UnknownError
    The operation failed for reasons unrelated to the database itself and not covered by any other error code.

It complains about ActorsParent.cpp:584.




Expected results:

Database should have opened and worked without errors, as their apps do on other browsers.
Component: Activity Streams: General → DOM: IndexedDB
Product: Firefox → Core
Hi Bevis, could you please investigate this?
Flags: needinfo?(btseng)
Priority: -- → P2
ActorsParent.cpp:584 in FF49 points to the line in http://searchfox.org/mozilla-central/source/dom/indexedDB/ActorsParent.cpp#586 in mozilla-central which reports any unexpected error of the requested operation to the parent process.
That means the error comes from some internal gecko module utilized by indexedDB implementation which returns unexpected error.

Unfortunately, it's difficult to narrow down the problem without the reproducible steps, because there are too much possibilities as listed in:
http://searchfox.org/mozilla-central/search?q=NS_WARN_IF%28NS_FAILED%28rv%29%29%29&case=true&path=dom%2FindexedDB%2FActorsParent.cpp

If we have an debug build with reproducible steps, these "NS_WARN_IF(NS_FAILED(rv)))" will help to print the line of the source file in console where the error comes from.
Besides, in debug build, the value of the nsresult will be printed properly to identify the error cause:
http://searchfox.org/mozilla-central/source/dom/indexedDB/ActorsParent.cpp#577
Flags: needinfo?(btseng)
Update: According to this comment: https://github.com/dfahlander/Dexie.js/issues/298#issuecomment-254170161, the issue related to ActorsParent.cpp:584 was indeed fixed after upgrading to Firefox 49.

So, we only have one issue left (https://github.com/dfahlander/Dexie.js/issues/298#issuecomment-254074669). It failed with AbortError with Firefox 49 but the issue was repaired after reinstalling Firefox 49.

Conclusion: I suppose you could close this bug because we can't reproduce the bug.
I can reproduce the described bug everytime with Firefox 48.0.2 on my web application. When upgrading to FF49, then this bug does not appear but after downgrading it shows up again. It also needs to have something to do with the data which is already stored in IndexedDB. Because when I use a clean Firefox version (without existing IndexedDB data), then this bug does not show up.

Are there any steps which I can make to give you a more detailed report because I currently have this bug on my machine (Windows 10 Home) with Firefox 48.0.2.
It's not worthy to debug this if it can only be reproduced in your side because it will be time-consuming to provide debug builds with incremented logs back and forth multiple times for narrowing down the issues and a fix landing to FF48 seems not possible after FF49 has been available in release channel. :|

The lesson learned from this bug is to see if we can leave more clues in release build in the future to help the reporter to clarify the issue easier.

Mark as fixed for now according to the status mentioned in comment 3 and comment 4.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.