The async D-Bus proxy method calls generated by chromeos-dbus-bindings has a 'timeout_ms' argument that specifies the timeout for the D-Bus call. The 'timeout_ms' argument has a default value set to dbus::ObjectProxy:TIMEOUT_USE_DEFAULT, which indicates that the default timeout (typically 25 seconds) set by D-Bus should be used.
When shill was migrated to use chromeos-dbus-bindings, a regression was introduced where the timeout values chosen for various async D-Bus proxy method calls aren't actually used. As most of these timeout values are greater than the default timeout set by D-Bus, some D-Bus calls for a long operation (e.g. cellular network scan) may time out unexpectedly.
Comment 1 by bugdroid1@chromium.org
, Nov 1 2017