Comment 6 for bug 221009

Revision history for this message
Marius Gedminas (mgedmin) wrote :

Firefox 3.0b5 in hardy issues these fsyncs so often it starts blocking on them for seconds, becoming completely nonresponsive in the UI with compiz making the whole window grey). It's not just a power-saving issue, it's a painful usability problem.

Here's a short excerpt from strace taken while I was typing this comment:

$ strace -p `pidof firefox` -e fsync -tT
Process 7187 attached - interrupt to quit
03:37:04 fsync(49) = 0 <7.587739>
03:37:11 fsync(49) = 0 <0.273196>
03:37:12 fsync(32) = 0 <0.229370>
03:37:33 fsync(49) = 0 <12.852950>
03:37:45 fsync(49) = 0 <0.184390>
03:37:46 fsync(32) = 0 <0.220538>
03:38:06 fsync(49) = 0 <5.217726>
03:38:11 fsync(49) = 0 <5.487585>
03:38:17 fsync(32) = 0 <0.464993>
03:38:37 fsync(49) = 0 <3.724943>
03:38:41 fsync(49) = 0 <5.732189>
03:38:47 fsync(32) = 0 <6.252349>
03:39:14 fsync(49) = 0 <8.729353>
03:39:22 fsync(49) = 0 <0.930190>
03:39:23 fsync(32) = 0 <0.173965>

As you can see, fsync calls block Firefox for several seconds, a few times every minute. The file handles point to places.sqlite

$ lsof -p `pidof firefox`
...
firefox 7187 mg 32uw REG 8,3 8380416 8814778 /home/mg/.mozilla/firefox/default.a83/places.sqlite
...
firefox 7187 mg 49u REG 8,3 0 1884617 /home/mg/.mozilla/firefox/default.a83/places.sqlite-journal

Note that firefox 3.0b4 (at least the one in gutsy-backports) did not have this problem, or if it did, it wasn't as noticeable.