I've been working in a web application and I'm using local storage. But for some Firefox users I notice that they're having the following error:
NS_ERROR_FILE_CORRUPTED: Component returned failure code: 0x8052000b (NS_ERROR_FILE_CORRUPTED) [nsIDOMStorage.setItem]
when it called the function:
function setLocalStorageItem(key, value){
localStorage.setItem(key, JSON.stringify(value));
}
It's is a way to avoid this error?
Had this problem just pop up with one of our clients.
Completely deleting the
history
and (I guess that is the important part)offline website data
solved the problem.(Firefox Version 40.0.3)
This is a browser-level error: you probably didn't do anything wrong to cause this error. The browser (or the the SQLite library it uses) either did something wrong, or the file was left in an invalid state due to a hardware problem.
You can't really prevent this issue, except by joining the Firefox development team and making the browser's storage system more fault-resistant. There doesn't seem to be any way to restore data from this error, so what you'll have to do is detect this error and tell users how to blow away their browser storage according to this MDN post:
Note that the
catch
block should verify that the error is anNS_ERROR_FILE_CORRUPTED
error. I think my check one.name
is correct, but you should verify it for yourself.Not sure if this helps but I have this issue on Jira. I restarted Firefox with addons disabled and wen to Jira and it worked. Then I stopped Firefox and restarted it with Addons enabled and it worked again. I don't know why this worked :) I use Firefox Developer edition 48.0a2 (2016-05-24)
After an OS crash files within the Firefox profile folder might be corrupt and lead to non-functional websites (in my case ironically the Firefox marketplace). Here,
webappsstore.sqlite
was affected.As user @Oli stated over at Ask Ubuntu
More: https://developer.mozilla.org/en/dom/storage
If deleted/moved out of your profile folder, Firefox builds a new, sanitized
webappsstore.sqlite
file. Worked for me.Information on where to find your profile folder can be accessed here.