Closed
Bug 1065487
Opened 10 years ago
Closed 4 years ago
DBUtils.ensureDatabaseIsNotLocked is taking 103ms during first-run
Categories
(Firefox for Android Graveyard :: Data Providers, defect)
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: rnewman, Unassigned)
References
Details
(Keywords: perf)
Attachments
(1 file)
5.98 KB,
patch
|
mfinkle
:
review+
|
Details | Diff | Splinter Review |
http://people.mozilla.org/~mfinkle/fennec/profiles/nexuss-home-startup-firstrun-20140910.trace This probably isn't even limited to first run. Might be time to yank this band-aid.
Reporter | ||
Comment 1•10 years ago
|
||
Here is what the removal patch would look like, after Bug 1115075 confirms or refutes my theories. We added this workaround in Bug 746444, with some cleanup and extension in Bug 741224 and Bug 749493. There's some confusion about what "locked" means in the many bugs we have on file. Bug 947939 and friends did a deeper analysis of lock errors, finding that mainly these were *internal* -- i.e., our concurrency model was screwed up, and we had two open connections. I'm fairly convinced that these are the main culprit. It's still possible, as Lucas notes in Bug 746444 Comment 8, that there are dangling file locks after a crash. The code in DBUtils attempts to avoid this by killing processes in a loop. As a side effect, it moves DB init very early in startup. And this will *only* fix dangling file locks. It's not at all clear whether this works at all (we can end up with files that are locked even with no living process), or if it helps (e.g., if we relaunched, we might just be waiting for a process to die cleanly, so forcing it to die is no better than just waiting).
Attachment #8540863 -
Flags: review?(mark.finkle)
Updated•10 years ago
|
Attachment #8540863 -
Flags: review?(mark.finkle) → review+
Reporter | ||
Comment 2•10 years ago
|
||
The best way to repro this, it seems: introduce a DB upgrade that has a syntax error. This causes a crash. The next launch will trigger the locked logic, dumping log statements from the system sqlite lib on each kill attempt. Either the kill attempts are necessary, or the repeated log output indicates that the kills aren't working. Either way: if we try those steps and things work, I think we're safe to strip out this method.
Reporter | ||
Comment 3•9 years ago
|
||
My current feeling is that this is still occasionally necessary. More research needed if motivated.
Assignee: rnewman → nobody
Status: ASSIGNED → NEW
Comment 4•4 years ago
|
||
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INCOMPLETE
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•