Open Bug 1362878 Opened 7 years ago Updated 2 months ago

"IndexedDB UnknownErr: ActorsParent.cpp:598 (unknown)" when creating a indexedDB database with .open()

Categories

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

52 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: braiamp, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Build ID: 20170419203746

Steps to reproduce:

As with https://bugzilla.mozilla.org/show_bug.cgi?id=1093223,

    var req = window.indexedDB.open("asyncStorage", 1);




Actual results:

"UnknownError" is printed in the developer console, and "IndexedDB UnknownErr: ActorsParent.cpp:598  (unknown)" in the browser console.


Expected results:

A new database should have been created. I'm unsure how to further diagnostic this issue.
On a new profile, the issue isn't reproducible. With or without e10s the issue is reproducible in the same profile/version. upgrading to 53.0 doesn't help.
Component: Untriaged → DOM: IndexedDB
Product: Firefox → Core
See Also: → 1357428
Do you think the profile could have been used in a "future" version?
Flags: needinfo?(braiamp)
There was something of sort for a while https://tracker.debian.org/news/843911, but as noted on the comment #2, I've used the "future" version which didn't help.
Flags: needinfo?(braiamp)
Jan/Andrew/Bevis: any thoughts here other than the profile somehow got corrupted?
Flags: needinfo?(jvarga)
Flags: needinfo?(bugmail)
Flags: needinfo?(btseng)
In order to save myself some time in the future, I tried to summarize when we had schema changes for various things at https://public.etherpad-mozilla.org/p/quota-manager-schema-change-log

No schema change happened between Firefox 52 and 53, so I think the answer is Quota Manager found something in the storage/ directory that it didn't like.  There's a lot of possible guesses about what's going on[1], but nightly Firefox 55 builds will tell us if run against the bad profile.  Specifically, bug 1339081 added UNKOWN_FILE_WARNING() errors that go to the browser console, and it's unknown files that are the ones that are most likely to upset Quota Manager.  Quota Manager is also more tolerant of messy storage/ directories in Fx55 and will more actively clean up badness so it may no longer be upset about the profile.

So I'd say, braiamp, if you still have the profile around and can run it under Firefox nightly (https://www.mozilla.org/en-US/firefox/channel/desktop/#nightly), that might provide an informative answer quickly without you needing to send us potentially private information from your profile and shed some more light.

1: For example, chrome code having induced an un-parseable origin like the weird "about+reader+url=https..." origin :myk saw in bug 1286914 (on Firefox 50 as trunk).  On trunk=55, reader mode still uses "about:reader?url=..." as its actual principal even though it tricks the URL bar into pretending the original URL is being displayed.  Even though bug 1321550 fixed "file" scheme URIs to not include the search/hash parts in Firefox 53, "about" remained unaffected.  However, at least on trunk, about:reader has no window.indexedDB global somehow, so I don't think that's a concern for trunk right now.
Flags: needinfo?(jvarga)
Flags: needinfo?(bugmail)
Flags: needinfo?(btseng)
Flags: needinfo?(braiamp)
There were some funny things going on with the content of my profile on the file system that seems suspicious:

1. There are some files that while the directory lists them, utilities cannot read them:

cp -r 13th63bg.default{,.bk} 
cp: cannot stat '13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-wal': No such file or directory
cp: cannot stat '13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-shm': No such file or directory
cp: '13th63bg.default/extension-data/ublock0.sqlite-journal' has unknown file type
cp: cannot open '13th63bg.default/Invalidprefs.js' for reading: Permission denied

2. This one is pretty weird:

ls -l 13th63bg.default/Invalidprefs.js
---------- 1 braiam braiam 0 Jan 20 09:04 13th63bg.default/Invalidprefs.js

I chmod'ed u+rw this file.

3. I don't know what's going on here:

ls -l 13th63bg.default/extension-data/ublock0.sqlite-journal 13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-wal 13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-shm
ls: cannot access '13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-wal': No such file or directory
ls: cannot access '13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-shm': No such file or directory
?--------- 1 root root 0 Dec 31  1969 13th63bg.default/extension-data/ublock0.sqlite-journal

Why is that file root owned? Seems to have been corrupted.

4. Here's what ls sees on the idb directory:

ls -l 13th63bg.default/storage/default/https+++web.whatsapp.com/idb/ 
ls: cannot access '13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-wal': No such file or directory
ls: cannot access '13th63bg.default/storage/default/https+++web.whatsapp.com/idb/3166453069wcaw.sqlite-shm': No such file or directory
total 108
drwxr-xr-x 1 braiam braiam     0 Feb 20 08:36 1119037936ptbc_edte.files
-rw-r--r-- 1 braiam braiam 45056 Feb 20 08:36 1119037936ptbc_edte.sqlite
drwxr-xr-x 1 braiam braiam     0 Feb 20 08:36 315746093sw.files
-rw-r--r-- 1 braiam braiam 65536 May  6 09:08 315746093sw.sqlite
-????????? ? ?      ?          ?            ? 3166453069wcaw.sqlite-shm
-????????? ? ?      ?          ?            ? 3166453069wcaw.sqlite-wal

There's simply no way with standard tools (ls, cat, file, etc.) to check those files.

I think those two files are the problem, I'm running btrfs scrub on the file system and will report back.
Forgot to mention, no nightly doesn't seems to be able to automagically fix those files:

Before any attempt to modify the filesystem, this was on the browser console:

Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
undefined  Promise-backend.js:925
Warning: ‘nsIOService::NewChannel()’ deprecated, please use ‘nsIOService::NewChannel2()’  HTTPSRules.js:253:18
formatURL: Couldn't find value for key: OLD_VERSION  nsURLFormatter.js:127
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
UnknownError  IndexedDB.jsm:259:18
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
UnknownError  metrics.js:177:22
req.getResponseHeader is not a function  Main.js:1639
TypeError: browser.messageManager is undefined[Learn More]  keefoxWin.js:220:5
this[module] is undefined  nsBrowserGlue.js:174
nsIJSON.encode is deprecated.  Please use JSON.stringify instead. ssl-observatory.js:625:31
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
addMozEntries failed to update the db!  SafeBrowsing.jsm:470
Object { stack: "", 5 more… }  core.js:100
UnknownError  IndexedDBHelper.jsm:71:12
PushService:stateChangeProcessEnqueue: Error transitioning state UnknownError  PushService.jsm:150
nsIJSON.encode is deprecated.  Please use JSON.stringify instead. ssl-observatory.js:625:31
nsIJSON.encode is deprecated.  Please use JSON.stringify instead. ssl-observatory.js:625:31
Object { stack: "", 5 more… }  core.js:100
Firefox can’t establish a connection to the server at ws://127.0.0.1:12548/.  (unknown)
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.  ssl-observatory.js:625:31
Use of nsIFile in content process is deprecated.  loader.js:247:15
nsIJSON.encode is deprecated.  Please use JSON.stringify instead. ssl-observatory.js:625:31
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  nightly_whatsnew-bundle.f50e01a9978e.css:1:791
Expected media feature name but found ‘-o-min-device-pixel-ratio’.  nightly_whatsnew-bundle.f50e01a9978e.css:1:862
Unknown property ‘-moz-column-break-inside’.  Declaration dropped.  nightly_whatsnew-bundle.f50e01a9978e.css:1:2683
Unknown property ‘break-inside’.  Declaration dropped.  nightly_whatsnew-bundle.f50e01a9978e.css:1:2731
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:1953
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:1969
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:3956
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:3972
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:8936
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:8952
Expected color but found ‘top’.  Error in parsing value for ‘background-image’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:20868
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:21974
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:22416
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:22432
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:23996
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24503
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24519
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24636
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24652
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:28027
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:29740
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:31390
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:41594
Unknown pseudo-class or pseudo-element ‘-webkit-scrollbar’.  Ruleset ignored due to bad selector.  responsive-bundle.41514699236f.css:1:53436
Unknown pseudo-class or pseudo-element ‘-webkit-scrollbar-track’.  Ruleset ignored due to bad selector.  responsive-bundle.41514699236f.css:1:53522
Unknown pseudo-class or pseudo-element ‘-webkit-scrollbar-thumb’.  Ruleset ignored due to bad selector.  responsive-bundle.41514699236f.css:1:53608
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  responsive-bundle.41514699236f.css:1:55323
Expected media feature name but found ‘-o-min-device-pixel-ratio’.  responsive-bundle.41514699236f.css:1:55394
Unexpected end of file while searching for length value for matched media condition.  from DOM
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’ session.js:273:38
Key event not available on some keyboard layouts: key=“r” modifiers=“accel,alt” id=“key_toggleReaderMode”  browser.xul
Key event not available on some keyboard layouts: key=“i” modifiers=“accel,alt,shift” id=“key_browserToolbox”  browser.xul
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
UnknownError  indexed-db.js:58:9
undefined  Promise-backend.js:925
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’ session.js:273:38
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
UnknownError  indexed-db.js:58:9
undefined  Promise-backend.js:925
UnknownError  indexed-db.js:58:9
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.

And the stdout:

1494761606393	addons.xpi	WARN	disabling abb@amazon.com since it is not multiprocess compatible
1494761606395	addons.xpi	WARN	disabling abb@amazon.com since it is not multiprocess compatible
1494761606432	addons.xpi	WARN	disabling shumway-dev@research.mozilla.org since it is not multiprocess compatible
1494761606433	addons.xpi	WARN	disabling shumway-dev@research.mozilla.org since it is not multiprocess compatible
1494761606445	addons.xpi	WARN	disabling jid1-AWt6ex5aPvWtTg@jetpack since it is not multiprocess compatible
1494761606447	addons.xpi	WARN	disabling jid1-AWt6ex5aPvWtTg@jetpack since it is not multiprocess compatible
1494761606460	addons.xpi	WARN	disabling tilt@mozilla.com since it is not multiprocess compatible
1494761606461	addons.xpi	WARN	disabling tilt@mozilla.com since it is not multiprocess compatible
1494761606469	addons.xpi	WARN	disabling jid1-BYtv5zBMLU7wZw@jetpack since it is not multiprocess compatible
1494761606471	addons.xpi	WARN	disabling jid1-BYtv5zBMLU7wZw@jetpack since it is not multiprocess compatible
1494761606503	addons.xpi	WARN	disabling itsalltext@docwhat.gerf.org since it is not multiprocess compatible
1494761606505	addons.xpi	WARN	disabling itsalltext@docwhat.gerf.org since it is not multiprocess compatible
console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37

console.error: PushService: 
  stateChangeProcessEnqueue: Error transitioning state
  UnknownError
console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37

console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37

console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37

console.error: 
undefined
console.error: 
undefined
[Parent 11759] WARNING: waitpid failed pid:11876 errno:10: file /home/worker/workspace/build/src/ipc/chromium/src/base/process_util_posix.cc, line 276

After the chmod/own

Warning: ‘nsIOService::NewChannel()’ deprecated, please use ‘nsIOService::NewChannel2()’  HTTPSRules.js:253:18
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
UnknownError  metrics.js:177:22
req.getResponseHeader is not a function  Main.js:1639
this[module] is undefined  nsBrowserGlue.js:174
TypeError: browser.messageManager is undefined[Learn More]  keefoxWin.js:220:5
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
Object { stack: "", 5 more… }  core.js:100
UnknownError  IndexedDBHelper.jsm:71:12
PushService:stateChangeProcessEnqueue: Error transitioning state UnknownError  PushService.jsm:150
Object { stack: "", 5 more… }  core.js:100
Use of nsIFile in content process is deprecated.  loader.js:247:15
nsIJSON.encode is deprecated.  Please use JSON.stringify instead. ssl-observatory.js:625:31
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.  ssl-observatory.js:625:31
Firefox can’t establish a connection to the server at ws://127.0.0.1:12548/.  (unknown)
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:1953
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:1969
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:3956
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:3972
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:8936
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:8952
Expected color but found ‘top’.  Error in parsing value for ‘background-image’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:20868
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:21974
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:22416
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:22432
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:23996
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24503
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24519
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24636
Expected declaration but found ‘*’.  Skipped to next declaration.  responsive-bundle.41514699236f.css:1:24652
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:28027
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:29740
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:31390
Unknown property ‘zoom’.  Declaration dropped.  responsive-bundle.41514699236f.css:1:41594
Unknown pseudo-class or pseudo-element ‘-webkit-scrollbar’.  Ruleset ignored due to bad selector.  responsive-bundle.41514699236f.css:1:53436
Unknown pseudo-class or pseudo-element ‘-webkit-scrollbar-track’.  Ruleset ignored due to bad selector.  responsive-bundle.41514699236f.css:1:53522
Unknown pseudo-class or pseudo-element ‘-webkit-scrollbar-thumb’.  Ruleset ignored due to bad selector.  responsive-bundle.41514699236f.css:1:53608
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  responsive-bundle.41514699236f.css:1:55323
Expected media feature name but found ‘-o-min-device-pixel-ratio’.  responsive-bundle.41514699236f.css:1:55394
Expected media feature name but found ‘-webkit-min-device-pixel-ratio’.  nightly_whatsnew-bundle.f50e01a9978e.css:1:791
Expected media feature name but found ‘-o-min-device-pixel-ratio’.  nightly_whatsnew-bundle.f50e01a9978e.css:1:862
Unknown property ‘-moz-column-break-inside’.  Declaration dropped.  nightly_whatsnew-bundle.f50e01a9978e.css:1:2683
Unknown property ‘break-inside’.  Declaration dropped.  nightly_whatsnew-bundle.f50e01a9978e.css:1:2731
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Unexpected end of file while searching for length value for matched media condition.  from DOM
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.  ssl-observatory.js:625:31
addMozEntries failed to update the db!  SafeBrowsing.jsm:470
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’ session.js:273:38
Property contained reference to invalid variable.  Error in parsing value for ‘background-color’.  Falling back to ‘initial’. webconsole.css:406:9402
Property contained reference to invalid variable.  Error in parsing value for ‘border-top-color’.  Falling back to ‘initial’. webconsole.css:407:9459
Property contained reference to invalid variable.  Error in parsing value for ‘border-top-style’.  Falling back to ‘initial’. webconsole.css:407:9459
Property contained reference to invalid variable.  Error in parsing value for ‘border-top-width’.  Falling back to ‘initial’. webconsole.css:407:9459
Property contained reference to invalid variable.  Error in parsing value for ‘background-image’.  Falling back to ‘initial’.  webconsole.css:444:10372
Property contained reference to invalid variable.  Error in parsing value for ‘border-bottom-width’.  Falling back to ‘initial’.  widgets.css:85:2908
Property contained reference to invalid variable.  Error in parsing value for ‘border-top-width’.  Falling back to ‘initial’.  widgets.css:84:2850
Property contained reference to invalid variable.  Error in parsing value for ‘min-height’.  Falling back to ‘initial’.  widgets.css:82:2742
Property contained reference to invalid variable.  Error in parsing value for ‘margin-bottom’.  Falling back to ‘initial’.  widgets.css:87:3041
Property contained reference to invalid variable.  Error in parsing value for ‘margin-top’.  Falling back to ‘initial’.  widgets.css:86:2972
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
undefined  Promise-backend.js:925
UnknownError  indexed-db.js:58:9
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.  ssl-observatory.js:625:31
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.  ssl-observatory.js:625:31
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.  ssl-observatory.js:625:31
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: setting the doctor.lastRepairAdvance pref to the non-integer number 1494761847.7 converted it to the integer number 1494761847; to retain fractional precision, store non-integer numbers as strings.  Preferences.jsm:134
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
nsIJSON.encode is deprecated.  Please use JSON.stringify instead.  ssl-observatory.js:625:31
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38
Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’  session.js:273:38

---

IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
UnknownError  indexed-db.js:58:9
IndexedDB UnknownErr: ActorsParent.cpp:600  (unknown)
UnknownError

Stdout

console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37
openModalWindow@resource://gre/components/nsPrompter.js:363:5
openPrompt@resource://gre/components/nsPrompter.js:553:9
confirmEx@resource://gre/components/nsPrompter.js:694:9
confirmEx@resource://gre/components/nsPrompter.js:79:16
prompt@resource://app/components/nsBrowserGlue.js:2616:16
BG__onWindowsRestored/<@resource://app/components/nsBrowserGlue.js:1178:11

console.error: PushService: 
  stateChangeProcessEnqueue: Error transitioning state
  UnknownError
console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37
openModalWindow@resource://gre/components/nsPrompter.js:363:5
openPrompt@resource://gre/components/nsPrompter.js:553:9
confirmEx@resource://gre/components/nsPrompter.js:694:9
confirmEx@resource://gre/components/nsPrompter.js:79:16
prompt@resource://app/components/nsBrowserGlue.js:2616:16
BG__onWindowsRestored/<@resource://app/components/nsBrowserGlue.js:1178:11

console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37

console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37

console.error: 
undefined
console.error: 
  Message: Module `sdk/remote/lib/content/chrome-page-mod` is not found at resource://gre/modules/commonjs/sdk/remote/lib/content/chrome-page-mod.js
  Stack:
    @resource://gre/modules/commonjs/sdk/remote/child.js:81:3
emitOnObject@resource://gre/modules/commonjs/sdk/event/core.js:110:7
emit@resource://gre/modules/commonjs/sdk/event/core.js:86:38
messageReceived@resource://gre/modules/commonjs/sdk/remote/child.js:67:37

console.error: 
undefined


BTW, there's no markdown or way to format code?
Well, scrub found no errors but btrfs dev stats claims there were two:

sudo btrfs dev stats /home
[/dev/mapper/vlhome-lvhome].write_io_errs   0
[/dev/mapper/vlhome-lvhome].read_io_errs    0
[/dev/mapper/vlhome-lvhome].flush_io_errs   0
[/dev/mapper/vlhome-lvhome].corruption_errs 2
[/dev/mapper/vlhome-lvhome].generation_errs 0

The count match, so I closed Firefox and removed the offending directory, tried to create a new indexedDB and the database was created without troubles. What went down is a mystery to me and I'm unsure how Firefox could detect those cases to give more information to figure out what's wrong.
Flags: needinfo?(braiamp)
Thank you very much for such a thorough follow-up investigation!

(In reply to braiamp from comment #7)
> BTW, there's no markdown or way to format code?

No.  I think the "preview" tab is all about showing up what the results of auto-linkification (https://bugzilla.readthedocs.io/en/5.0/using/tips.html#comments) will be.  A common thing that can be done if you have the right permissions (you might not? bugzilla is confusing) is using "attach file".  At the top of the "Create New Attachment" page, there's toggles between "attach a file" and "paste text as attachment".  Pasting results in a text/plain attachment that can be viewed in a separate window.


It does seem a lot like the root problem here is outright filesystem corruption.  (And having had btrfs eat parts of my home directory, it's regrettably not surprising to hear it's the FS in use...)  The meta bug about profile corruption is bug 123929 with the cool "profile-corrupt" alias.

It seems like the best options as it relates to IndexedDB And Quota Manager are:
- Expose a way for Quota Manager clients to report a problem with the contents of their storage for a given origin to the Quota Manager.  It's a requirement that the client be able to make a best effort to distinguish between corruption and "this profile was used in a future version of Firefox".
  - For IndexedDB, that would probably mean that if it finds an unexpected file that it would also still try and open a .sqlite file and check its schema version.  Alternately, and perhaps preferably to reduce implementation complexity, we could start bumping the quota manager's schema version whenever any of its clients bump their storage usage in such a way that older versions would see a file that they didn't know what to do with and assume profile corruption.
- Under release builds, Quota Manager would then wipe the storage for that origin consistent with storage eviction rules for its persistence level so that an app doesn't break because IDB got reset but not the DOM Cache API, and increment a telemetry scalar(?).
- Under nightly builds we might opt for something more drastic like moving the directory aside for later investigation and then force a crash so that it both shows up in crash-stats and we have its contents around to analyze later.  By moving the directory aside, the user would experience only a single crash so there's no infinite crash-loop but release management would get very immediate feedback that something is seriously wrong and backouts are appropriate, etc.  There's also the chance by moving the directory aside that we might be able to recover it in the event of a busted nightly.
- We would file a spin-off bug for UX to consider some kind of UI to help let the user know that it seems like they might be having system problems based on how often we're having to reset portions of their profile.  One easy way to deal with this might be to just open a per-OS support.mozilla.org page for them that would help document how to run chkdsk/whatever, make sure their anti-virus is up-to-date, et cetera.  But that is a UX decision.  The key thing for QM/IDB is avoiding the "everything's now broken and it's not clear why and hopefully the user will eventually stumble on about:support because it's the only way this will fix things short of manual directory removal".
  - Note that there is UI to offer to reset the profile if it's been a while since the user used Firefox, or maybe other reasons.  That was first implemented under bug 498181.  But it does seem strictly better for Quota Manager to help us nuke only broken origins rather than leaving all origins behind with a profile reset.
Priority: -- → P3
I have currently the exact same error after upgrading to Firefox beta 55.0b1.
This is my output:

> Quota 'action=reauth&entrypoint=preferences' is not a valid port number!: ActorsParent.cpp:8346  (unknown)
> Quota Origin 'about+accounts+action=reauth&entrypoint=preferences' failed to parse, handled tokens: 'about', 'accounts': ActorsParent.cpp:8096  (unknown)
> IndexedDB UnknownErr: ActorsParent.cpp:598  (unknown)
> Error loading database. error { target: IDBOpenDBRequest, isTrusted: true, currentTarget: IDBOpenDBRequest, eventPhase: 2, bubbles: true, cancelable: true, defaultPrevented: false, composed: false, timeStamp: 133.9802953855013, cancelBubble: false, originalTarget: IDBOpenDBRequest }  background.js:88:47
> UnknownError  background.js:86:26

After running these lines:
    const DB_VERSION = 3, DB_NAME = 'group_speed_dial';
    const DBOpenRequest = window.indexedDB.open(DB_NAME, DB_VERSION);
    DBOpenRequest.onerror = function(event) { console.log('Error loading database.', event); };

I cannot reproduce it on clean profile :(

I'm running Window 10 Creators Update x64 on SSD (no issues found).
Also any ideas how to fix my current state? I tried to reinstall problematic addon but it's still broken.
What else can I do? I don't want to make new profile and setup all other addons again...
Also release notes for 55 says I cannot downgrade anymore since there are some profile changes (maybe the reason of my issues).
A quick fix would be to remove (or move outside <profile>/storage) the directory <profile>/storage/default/about+accounts+action=reauth&entrypoint=preferences
Thanks a lot! That worked nice :)
(In reply to juraj.masiar from comment #11)
> Also any ideas how to fix my current state? I tried to reinstall problematic
> addon but it's still broken.

Can you tell me what add-on it is?
Flags: needinfo?(juraj.masiar)
It was a "Group Speed Dial":
https://addons.mozilla.org/en-US/firefox/addon/groupspeeddial/
But I was not able to reproduce it with clean profile or with my work profile on different PC.
Flags: needinfo?(juraj.masiar)
FWIW, ReSpec is being affected by this bug in 53, 54. 

For example:
https://wicg.github.io/web-share/

(if reproduced, you should see errors logged to the developer console - and the UnknownError being generated in the browser console)

It would be great if we could at least get it to spit out some proper error information. UnknownError is quite unhelpful and  non-conforming. It also seems to break devtools, whereby you can't jump to the line where the error is occurring: it instead open a new window, and then jumps to the line where the error occurred (which, as someone trying to debug this, can be quite frustrating).
(In reply to Marcos Caceres [:marcosc] from comment #16)
> FWIW, ReSpec is being affected by this bug in 53, 54. 
> 
> For example:
> https://wicg.github.io/web-share/
> 
> (if reproduced, you should see errors logged to the developer console - and
> the UnknownError being generated in the browser console)

If you run your profile under Fx 55 (caution, no downgrades! backup your profile first if you want to run under 53/54 and your problem isn't that you already ran the profile under 55), you should potentially see more useful error messages in the browser console (ctrl-shift-j on linux).  The "Erorr Reporting" section near the bottom of https://public.etherpad-mozilla.org/p/quota-manager-schema-change-log describes some of the errors that may be reported.

For example, at some point while experimenting with this family of bugs, I did `touch PROFILE/storage/default/foo` and I just saw the following in the browser console when I tried to open your link:
Quota Something (foo) in the directory that doesn't belong!: ActorsParent.cpp:4205

The quickest fix if you don't care about your current QuotaManager/IndexedDB storage is to go to "about:support" and hit "refresh firefox/nightly".

> It would be great if we could at least get it to spit out some proper error
> information. UnknownError is quite unhelpful and  non-conforming. It also
> seems to break devtools, whereby you can't jump to the line where the error
> is occurring: it instead open a new window, and then jumps to the line where
> the error occurred (which, as someone trying to debug this, can be quite
> frustrating).

Bug 1358950 is the current meta bug for improving IDB errors reported to content.  There currently isn't a bug covering this case where there's underlying platform/profile breakage.  Most bugs that have gone in this direction end up either addressing a legitimate QuotaManager/IndexedDB bug or go down the road of bug 1246615 (which may have some relevant see-also's/dependencies).  Bug 1035424 seems closest, although its solution is moot, so maybe a new bug should be filed and marked as blocking the meta.
Hello again.
Some users of my add-on GroupSpeedDial are now complaining about this issue.
Based on the logs they send me I can tell it fails on "window.indexedDB.open" method.
This seems to be happening the moment they install the add-on, not during Firefox upgrade.
Also in the profile folder: "/storage/default" there is missing folder for extension database (like "moz-extension+++95efecd6-dd6a-4bf6-a9c6-620622bb46e6") so the database was not created at all.
This tends to happens on old profiles. Creating new profile solves the issue.
Severity: normal → S3

This seems to be occurring more often nowadays than it used to.

You need to log in before you can comment on or make changes to this bug.