Generates a dbus roundtrip with every HTTP request
Bug #939657 reported by
Chris Coulson
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mozilla Firefox |
Fix Released
|
Medium
|
|||
firefox (Ubuntu) |
Fix Released
|
Medium
|
Chris Coulson | ||
Oneiric |
Fix Released
|
Medium
|
Chris Coulson | ||
Precise |
Fix Released
|
Medium
|
Chris Coulson | ||
thunderbird (Ubuntu) |
Fix Released
|
High
|
Chris Coulson | ||
Oneiric |
Fix Released
|
High
|
Chris Coulson | ||
Precise |
Fix Released
|
High
|
Chris Coulson |
Bug Description
Firefox 11 has the ability to load proxy settings from gconf. However, it generates a dbus roundtrip to dconf with every HTTP request, because we call g_settings_new each time. I've submitted a patch upstream for this, and this bug is just to remind me that we need to backport it to the beta so that we don't ship the release like this
Related branches
Changed in firefox: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Changed in firefox: | |
status: | Confirmed → Fix Released |
To post a comment you must log in.
I've noticed for the last few days that whilst running Thunderbird Daily, dbus-daemon will use a lot of CPU for a few minutes every now and again and power consumption goes through the roof. When I look at traffic on the session bus, I see thousands of these messages from Thunderbird:
method call sender=:1.527 -> dest=org. freedesktop. DBus serial=34074 path=/org/ freedesktop/ DBus; interface= org.freedesktop .DBus; member=AddMatch signal' ,interface= 'ca.desrt. dconf.Writer' ,path=' /ca/desrt/ dconf/Writer/ user',arg0path= '/system/ proxy/' "
string "type='
What is happening is that each time we look for the system proxy settings, we are calling g_settings_new(). When doing this, the dconf backend sets up a watch on these settings to be notified of change events.
Of course, there might actually be a Thunderbird bug here, but we can probably improve this situation in nsUnixSystemPro xySettings by not creating a new GSettings instance (and not setting up a new watch) each time we look up the proxy settings.