Closed Bug 415315 Opened 18 years ago Closed 17 years ago

Storage hangs browser if disk is busy

Categories

(Core :: SQLite and Embedded Database Bindings, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 442967

People

(Reporter: bzbarsky, Unassigned)

Details

BUILD: Current trunk STEPS TO REPRODUCE: 1) Start a process that keeps the disk very busy (in my case, rsyncing the Mozilla CVS repository after b3 got tagged). 2) Try to load a URI in the browser. 3) Watch the browser stop responding for 10 minutes or so. 4) Kill the browser with -SEGV and get a breakpad stack: http://crash-stats.mozilla.com/report/index/2f84a187-d14f-11dc-bd07-001a4bd46e84?date=2008-02-02-05 It looks like JS called mozStorageConnection::CommitTransaction(), then we're doing a ExecuteSimpleSQL, then something in libsqlite.so. Too bad breakpad doesn't have any symbols there... This happened right after I pressed enter in the URL bar, so presumably adding to global history. Do we write the database out to disk (sync) when that happens or something?
Does Seamonkey use places history yet? If so, I know what's going on (although it doesn't use JS...). Places fires an nsITimer to update the history database three seconds after page load, but that would run on the main thread and probably block, and I'm pretty sure that sqlite uses blocking IO... This probably is being seen now since we disabled the async IO of mozStorage so we wouldn't have database corruption issues.
I have no idea what seamonkey uses for history... How big a chunk of data are we trying to sync-write to a busy disk if it does? It must have been in the tens of megabytes range at least to get the sort of slowdown I was seeing, and not being written as a single write() by any means.
No, we're not using places history yet, it has dependencies on browser :-(
This sounds like bug 442967
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
(In reply to comment #1) > Does Seamonkey use places history yet? No, but this is probably URLBar history, which now also uses sqlite.
Product: Toolkit → Core
You need to log in before you can comment on or make changes to this bug.