Closed
Bug 559217
Opened 15 years ago
Closed 15 years ago
Browser freezes due a lock contention across Places statements
Categories
(Toolkit :: Places, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.9.3a5
Tracking | Status | |
---|---|---|
blocking2.0 | --- | final+ |
People
(Reporter: Dolske, Assigned: mak)
References
Details
(Keywords: dogfood)
Attachments
(3 files)
I seem to be getting these freezes once or twice a day. Seems to happen most commonly shortly after starting the browser (or opening a bunch of tabs?), and maybe on shutdown. Samples have a similar pattern, usually docshell/history stuff is resetting a statement.
These freezes usually last 15-30 seconds, which is really bad. :(
Reporter | ||
Comment 1•15 years ago
|
||
This was maybe 30 seconds after restarting the browser, just 2 tabs, both had restored. I was clicking the amusing "did you mean recursion" link when you Google recursion, and after 2 or 3 clicks it froze again. My places.sqlite file is 65006592 bytes in size.
Comment 2•15 years ago
|
||
(In reply to comment #1)
> This was maybe 30 seconds after restarting the browser, just 2 tabs, both had
> restored. I was clicking the amusing "did you mean recursion" link when you
> Google recursion, and after 2 or 3 clicks it froze again. My places.sqlite file
> is 65006592 bytes in size.
We should probably make this a pure async statement. We have a lock contention issue there.
Reporter | ||
Comment 3•15 years ago
|
||
Argh, these hangs are driving me crazy. :( sdwilsh, you said this was a simple fix, could you roll up a patch or reassign?
Assignee: nobody → sdwilsh
Keywords: dogfood
Assignee | ||
Comment 4•15 years ago
|
||
i'm unsure is Shawn was pointing to registerOpenPage, but even if it's sync that is writing to a temp table, it should not cause any hang. Having a list of the statements that are running in that moment would be great.
i'd like to know what is this mozilla::storage::AsyncExecuteStatements::Run().
Make a backup of your places.sqlite so we don't lose the opportunity to reproduce this.
Let's start chcking expiration:
could you tell me the value of places.history.expiration.transient_current_max_pages
Then run in the error console
Components.utils.import("resource://gre/modules/PlacesDBUtils.jsm");PlacesDBUtils.checkAndFixDatabase();
and post the log that will come out after some seconds
Comment 5•15 years ago
|
||
The problem is the call to Reset on the main thread, which is called by ExecuteAsync (due to a scoper: http://mxr.mozilla.org/mozilla-central/source/toolkit/components/places/src/History.cpp#80). We really need to abandon the scoper if we've succeeded everything, so this turns into a two liner.
Assignee | ||
Comment 6•15 years ago
|
||
yeah that scoper should not be there, good catch
Assignee | ||
Comment 7•15 years ago
|
||
Stealing bug, Shawn will just review.
I'm actually touching the same code to remove Storage deprecate APIs usage, thus since that bug is in review i have to enqueue things to aviod bitrotting.
Assignee: sdwilsh → mak77
Assignee | ||
Updated•15 years ago
|
Summary: Browser freezes due to Places statements → Browser freezes due a lock contentions across Places statements
Assignee | ||
Comment 8•15 years ago
|
||
Attachment #441772 -
Flags: review?(sdwilsh)
Assignee | ||
Updated•15 years ago
|
Summary: Browser freezes due a lock contentions across Places statements → Browser freezes due a lock contention across Places statements
Updated•15 years ago
|
Attachment #441772 -
Flags: review?(sdwilsh) → review+
Assignee | ||
Comment 9•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a5
Updated•15 years ago
|
blocking2.0: ? → final+
You need to log in
before you can comment on or make changes to this bug.
Description
•