Новости
Отсутствие одного «&» вызвало сбой в Chrome OS
Chrome OS автоматически загружает обновления и переключается на новую версию после перезагрузки, поэтому пользователи, перезагрузившие свои устройства, внезапно столкнулись с их блокировкой.
Из-за серьезной ошибки в недавнем выпуске Chrome OS (91.0.4472.147) некоторые пользователи не могли использовать свои Chromebook. Как отметили на Reddit, проблема, похоже, сводилась к отсутствию одного амперсанда в коде Google.
В частности, похоже, что программист Google использовал один «&» в условном выражении в коде Cryptohome VaultKeyset, а не два «&&», которые являются логическим оператором «И».
if (key_data_.has_value() & !key_data_->label().empty()) {
вместо
if (key_data_.has_value() && !key_data_->label().empty()) {
Это привело к тому, что обновленный Chrome OS не смог проверить пароли пользователей. Chrome OS автоматически загружает обновления и переключается на новую версию после перезагрузки, поэтому пользователи, перезагрузившие свои устройства, внезапно столкнулись с их блокировкой.
Непонятно, как такая очевидная проблема, как эта, попала в канал стабильной версии. В Chrome OS есть три канала тестирования, через которые должны проходить изменения — «canary,» «dev,» и «beta», с неделями тестирования между выпусками. И каким-то образом эта ошибка ускользнула от всех тестировщиков. Эта проблема также кажется могла быть обнаружена модульным тестом или автоматическим тестированием — невозможность входа в систему довольно очевидна.
Впоследствии Google оперативно выпустил обновление Chrome OS, в котором ошибка была исправлена.