Closed Bug 408072 Opened 17 years ago Closed 16 years ago

mozstorage crash while loading 20 tabs

Categories

(Core :: Networking: Cookies, defect, P2)

x86
Windows XP
defect

Tracking

()

VERIFIED WORKSFORME

People

(Reporter: torres.dark, Unassigned)

References

Details

(Keywords: crash, dataloss, hang)

Attachments

(3 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b2pre) Gecko/2007121009 Minefield/3.0b2pre ID:2007121009

When there a lot of tabs open and the cpu on 100% after a time it crashes saying 'There was a error writing data to disk. Disk full' This is not the exactly message but it is very close to what I remember.
Error Console says it's a problem with 'mozStorage: error code 14 for database C:\...\cookies.sqlite-journal

Reproducible: Sometimes

Steps to Reproduce:
1.Open more than 20 tabs
2.
3.
Actual Results:  
Error message and Firefox freeze.

Expected Results:  
Load the tabs.
Version: unspecified → Trunk
more details from the thread on mozillazine (http://forums.mozillazine.org/viewtopic.php?p=3178832#3178832) where the reporter first mentioned this issue:

I opened the tabs on startup, one after another. Yes it appear while loading (which is bad since a crash deletes my cache). The cpu was 100% all the loading. It wasn't crashing before, but I wasn't opening many tabs, now it crashs consistently. There was one time that as soon ff opened it crashed. No, a particular site don't cause it. I'm on Win XP.

What I noticed is that it only happens when processor goes 100% for a time.
I was using a extension (with check.compability to false) that crashed with this error, after I tried with a clean profile and no extensions and it crashed. 
sounds like it could be related to async writing in the mozstorage code; has anyone seen anything like this? perhaps with the urlclassifier stuff, when it was hanging the browser on trunk (bug 404645)? other services using async could be vulnerable to this, too.

nominating for blocking until we get a handle on this one way or another.
Flags: blocking1.9?
Keywords: crash, dataloss, hang
Summary: Crash if lots of tabs open and high cpu usage → mozstorage crash while loading 20 tabs
reporter, can you please post a list of the sites you used to demonstrate this? by "reproducible: sometimes", about what percentage of the time do you see the crash (on startup w/ clean profile)?
It crashed when I was using DownThemAll! extension (I had like 2000 files on queue and took a little of cpu time to open) and it crash without this extension (clean profile) when I was on:
www.theinquirer.net
www.tgdaily.com
As those are news site I usually opens all news and let it load while I do something else. It crashed more than once.
About percentage if I don't open many tabs it doesn't crash, but if many tabs it's like 90%.
I will try chkdsk latter but I don't think it's the cause.
Run chkdsk with surface scan. Clean volume. HD is new. The problem is not the HD.
14 is SQLITE_CANTOPEN for reference.
i'm curious whether there are any sqlite failures reported to cookies. rodrigo, can you enable cookie logging and generate a cookie log for starting the browser and crashing, and then attach it here? instructions can be found at: http://www.mozilla.org/projects/netlib/cookies/cookie-log.html
Sure
Attached file Cookie log
from the log, looks like we're getting a whole bunch of 0x80520015 failure codes when adding/removing cookies from the db.

0[3355e0]: RemoveCookieFromList(): removing from db gave error 80520015
0[3355e0]: 
0[3355e0]: AddCookieToList(): adding to db gave error 80520015
Attached image Error dialog
0x80520015 is NS_ERROR_FILE_ACCESS_DENIED, which is the munged code for SQLITE_PERM and SQLITE_CANTOPEN:
http://mxr.mozilla.org/mozilla/source/storage/src/mozStorage.h#65
do you have any virus scanners installed? any other applications or background processes that might open files to read/scan their contents on a regular and frequent basis? if you do, can you disable them and retest? this is one possible cause for sqlite to throw SQLITE_CANTOPEN, when it tries to delete/recreate the journal file and some other process is holding it open...
After killing/stopping most of process the crash didn't happen anymore. 
What is strange is that my antivirus/antispyware are both configured to NOT run in real time. 
I can only suspect of Diskeeper, it defrags the hd automatically but it do only when there are resources available (not the case because firefox use all cpu resources).
There are usually 50 process but with only the basic (20) it run ok.
Anyway I'm packing my pc because I'm moving so I will probably be without access till January.
I guess this bug is invalid, right?
well, firefox is crashing, so this bug definitely isn't invalid. ;)

it'd be nice to narrow down exactly which process is causing this, so we can be more certain of the diagnosis... but for more info on what i described in comment 14, see:
http://www.mail-archive.com/sqlite-users@sqlite.org/msg15870.html
http://www.sqlite.org/cvstrac/chngview?cn=3200
and the comments above sqlite3WinOpenExclusive() in sqlite3.c. (this is a windows-only problem; osx and linux have sane file handling.)

i'm not really sure what we can do about this. shawn, maybe we can get drh from sqlite in on this and see what he says? i'd also like to know why once it fails the first time, every single db op after that also fails... that's bad :/
It fails every time after because that's how our async IO works...
Depends on: 402615
+'ing this and making a P2 as Vlad is concerned there may be dataloss.  Can we confirm?  Please re-prioritize as needed.
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2
Finally moved... Now I have acess but not on my computer, I will try to help anyway. I have Windows Defender and Symantec Enterprise but they are not configured to run real-time. The only thing real-time was Diskeeper, that was defraging my hd automagically. Right now I don´t know what exactly is the problem because when I tested I killed most process possible at once. When my pc arrives I will get down to the process thats causing this crash.
now that bug 408914 is in, this shouldn't crash anymore - but there'll likely still be an underlying problem of some db operations failing. we need to figure out how to handle those in the cookieservice. maybe by keeping around a pending transaction list, and retrying on failure? or just ignore failures, and let the in-memory and on-disk datastores get out of sync.
No longer blocks: 408914
Been using beta 3 and beta4pre for two days and no crash. This is surely fixed.
Status: UNCONFIRMED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
without a specific fix, this is WORKSFORME.  And please don't VERIFY your own bugs.
Resolution: FIXED → WORKSFORME
ok
(It's perfectly appropriate for the reporter to VERIFY a fix -- that's often the best way to ensure that the original report is actually addressed, and not just a likely analogue of it.)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: