Update engine reinitializes the dbus connection and retries upon error.
Before this fix, update engine would keep using a failing dbus object
that was initialized once during process startup. This causes it to
fail retrieving HTTP proxy information from Chrome in certain OOBE
scenarios, as well as when switching into / out of guest mode (see
issues 25901 and 26077). With this fix, update engine reinitializes the
dbus proxy object when dbus calls using this proxy fail with a null
error pointer. Although these circumstances may indicate that there's
a deeper problem inside dbus, this workaround seems like a good, safe
practice, and appears to be fixing the problem.
BUG=chromium-os:25901, chromium-os:26077
TEST=Passes update_engine unittests; running the image with fluctuating
guest mode triggers reinitialization, which fixes the problem.
Change-Id: I19e81b6b718da59e22f388b264f9a723c2858a1a
Reviewed-on: https://gerrit.chromium.org/gerrit/15693
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Ready: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
2 files changed