Google нарушил условный оператор, проверяющий пароли в Chrome OS

googleнарушилусловныйоператорпроверяющийпароливchromeos

Полагаю, трех каналов тестирования недостаточно? –

Google нарушил условное выражение, которое проверяет пароли. Выполняется исправление.

Google pushed a one-character typo to production, bricking Chrome OS devices

Bloomberg / Getty Images

Google утверждает, что исправил основную Chrome OS. ошибка, из-за которой пользователи не могли пользоваться своими устройствами.

В бюллетене Google говорится, что версия Chrome OS 165. 0 . 3039560. 167, который был кратко доступен на этой неделе, приводит к тому, что пользователи не могут войти в систему на своих устройствах, по сути блокируя их.

Chrome OS автоматически загружает обновления и переключается на новую версию после перезагрузки, поэтому пользователи, перезагружающие свои устройства, внезапно их блокируют. Рекомендуемый совет, пока вышло это сломанное обновление, – не перезагружаться.

В бюллетене сказано, что вышла новая сборка, версия . 0. 4472. 167, сейчас развертывается, чтобы решить эту проблему, но на то, чтобы поразить всех, может потребоваться «несколько дней». Пользователи, пострадавшие от плохого обновления, могут либо дождаться повторного обновления устройства, либо «промыть» свое устройство, то есть стереть все локальные данные, – чтобы войти в систему. Chrome OS в основном основана на облаке, поэтому, если вы что-то не делаете Подобно запуску приложений Linux, это решение доставляет меньше неудобств, чем в других операционных системах. Тем не менее, некоторые пользователи жалуются на потерю данных.

ChromeOS имеет открытый исходный код, поэтому мы можем получить более подробную информацию об исправлении благодаря Android Police поиск комментария Reddit от пользователя elitist_ferret . Проблема, по-видимому, сводится к односимвольной опечатки . Google ошибся с условным выражением в Chrome OS Cryptohome VaultKeyset, часть ОС, в которой хранятся пользовательские ключи шифрования. Строка должна читать «if (key_data_.has_value () &&! Key_data _-> label (). Empty ()) {», но вместо «&&» – версия оператора «AND» для C ++ – в плохом обновлении использовалась одна амперсанд, нарушающий вторую половину условного оператора.

ChromeOS's programming typo. It happens to the best of us.

ChromeOS's programming typo. It happens to the best of us. Увеличить / Ошибка программирования ChromeOS. Это случается с лучшими из нас.

Это похоже, из-за этой ошибки Chrome OS никогда должным образом не проверяла пароли пользователей по сохраненным ключам, поэтому даже правильные пароли возвращались с сообщением: «К сожалению, ваш пароль не может быть проверен».

Все преимущества Chrome OS заключаются в том, что она надежна и не может быть взломана, а обновления, такие как это повредило ОС. Непонятно, как такая очевидная проблема остановки шоу, как эта, попала в канал стабильной версии. В Chrome OS есть три канала тестирования, через которые должны проходить изменения – «канарейка», «разработка» и «бета», с неделями тестирования между выпусками. Каким-то образом эта ошибка ускользнула от всего процесса. Эта проблема также кажется чем-то, что могло быть обнаружено модульным тестом или автоматическим тестированием – невозможность входа в систему довольно очевидна.

Ошибка знаменует собой второе дефектное обновление Chrome OS, выпущенное в этом месяце. Обновление в начале июля привело к резкому скачку загрузки ЦП на некоторых моделях, замедляя их до ползания.