Bug of the week Google has fixed a bug in Chrome OS version 91.0.4472.165 that surfaced on Monday and prevented some users from being able to login to their systems.
Chrome OS downloads updates automatically but doesn’t apply them until reboot, so only those who restarted their Chromebooks to ingest the force-fed broken update were affected.
Earlier this week, the internet titan on its Google Workplace status page said, “Our engineering team has identified an issue on Chrome OS 91.0.4472.165. The rollout of this version was halted.”
As a workaround for those bitten by the bug, Google advised users: to “powerwash” their Chrome OS devices back to factory settings; to rollback the Chrome OS device to a previous version via USB; or to remove the affected account and add the account back to the device. All three mitigations, however, clear local data on the device.
The programming blunder consists of a single missing character, an ampersand (&), that was inadvertently omitted from the Chrome OS C++ code. That oversight changed the logical AND operator (&&) in this conditional statement to a bitwise AND (&):
if (key_data_.has_value() && !key_data_->label().empty())
That means, for one thing, both sides of the conditional statement would be evaluated every time, rather than the right-hand-side call to
empty() only being made if the left-hand-side
true. In any case, omitting the ampersand changed the behavior of Chrome OS’s code.
Google’s patch, Chrome OS 91.0.4472.167, was issued on Wednesday and has been rolling out gradually per Google’s release pattern.
“Affected devices can login via guest mode or an account that hasn’t signed into the device and follow the steps in this [Help Center] article to download the update,” said Google.
This is the second Chrome OS version 91 update to go awry this month. An update to version 91.0.4472.147, issued on June 30, 2021, proved problematic for certain hardware configurations, causing extreme CPU usage. Google undid the offending update about a week ago but the problematic code has yet to be dealt with. ®