Currently, shill loads user profile when it receives start-user-session signal that's emitted by session manager when a user session is created.
This works well if shill starts early enough, but can cause problems if user log-in happens before shill has started. If a user session starts before shill, shill will not load the user profile within the session, and thus the user will not be able to create nor use private network configurations, until user session is restarted. Risk of this happening is more pronounced for autolaunched (kiosk) sessions - i.e. when user session is started early during boot.
We have hit this issue on 65 when shill startup was delayed waiting for cfg80211 load (https://chromium-review.googlesource.com/c/aosp/platform/system/connectivity/shill/+/890221). While that specific issue has been fixed on 66, we should reduce the chances of hitting similar issues in future.
The goal of this bug is to make user login more robust in respect to ensuring load of user network profile - it should not assume that shill is started early enough to notice start-user-session signal from the session manager.
One way forward is to block user session creation on shill - i.e. to delay request to session manager to start user session until shill service is ready.
Comment 1 by tbarzic@chromium.org
, Apr 18 2018