Обновление Яндекс Диска привело к неработоспособности Windows и программ
Автор: Илья Антипенко
Описание: В статье описано расследование истории, произошедшей в конце ноября 2013 года. Ошибка в программе деинсталляции приложения Яндекс.Диск привела к поломке программ и операционной системы Windows.
Источник: http://habrahabr.ru/post/204580/
Предыстория
30 ноября 2013 года появились первые сообщения от пользователей что у них:
- Возникла ошибка при запуске ....dll
- Запуск программы невозможен так как отсутствует ....dll
- Не найдена библиотека ....dll
- Слет активации (как следствие пропажи системных файлов)
Такая же проблема настигла и меня, когда включив компьютер я обнаружил, что часть программ не запускается, а Windows не активирована. Проблема заключается в том, что при обновлении Яндекс Диска установщик попытался удалить не только старую версию программы, но и весь системный раздел.
Проверить лог Яндекс Диска можно в C:\Users\%USER%\AppData\Local\Yandex\Yandex.Disk\YandexDiskInstaller.log, где %USER% — имя пользователя в системе.
Решение?
Частично помог откат системы на предыдущую точку восстановления. Но всех проблем это не решило, т.к., например, Microsoft Office запускается лишь частично, а его восстановление и установка завершается внутренними ошибками.
После отката была сразу же была отключена функция обновления Яндекс Диска, чтобы предотвратить удаление системных файлов.
UPD: Если вы еще не перезагружали компьютер, но нашли в логе строчки о запланированном удалении.
Почистите параметр реестра PendingFileRenameOperations, который находится в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
Представители Яндекса так прокомментировали случившееся:
Здравствуйте! Мы исследовали проблему с ОС Windows более подробно и обнаружили, что в некоторых случаях из-за несовместимости приложения Яндекс.Диск и операционной системы могут возникать неполадки с работой системы и её загрузкой. Мы уже обновили версию программы, в которой подобные ошибки были исправлены, скачать ее Вы можете со страницы disk.yandex.ru/download. В случае, если запустить систему не удаётся, попробуйте восстановить её с помощью точек восстановления или переустановить Windows. Мы обязательно сделаем все возможное, чтобы подобная ситуация не повторялась в будущем.
Приносим свои извинения за неудобства!
В данный момент полностью вернуть работоспособность испорченных систем не удалось.
Обсуждение данной проблемы ведется на форуме Ru-Board
UPD2: Более подробно о ситуации с Яндекс.Диском ( vladimirrusinov)
К сожалению, в процессе тестирования версии Диска для Windows 1.1.5 не была выявлена ошибка в компоненте uninstaller.
Процесс разработки и тестирования десктопных приложений Диска устроен достаточно классическим образом. Еще на этапе разработки каждый день запускаются автотесты. После сборки релиз уходит на двухнедельное тестирование, которое проходит в несколько итераций, по циклу, пока не будут исправлены все критические ошибки. После функционального тестирования проводится окончательное регрессионное тестирование, которое занимает еще несколько дней. И ручное, и автоматическое тестирование проводится на множестве устройств и на всех версиях операционной системы.
Затем новый релиз раскатывается внутри компании. Если и на этом этапе не выявилось критических проблем, сборка раскатывается. В процессе раскатывания системные администраторы наблюдают за датчиками мониторингов и отслеживают любые изменения в нагрузке на сервис и отклонения от статистики.
Служба поддержки в период после выкладки релиза внимательно отслеживает проблемы, о которых сообщают пользователи, и передает их разработчикам и менеджерам.
Проблема, которая случилась в этот раз, является цепочкой несчастливых совпадений. В команде сменился основной разработчик версии под Windows и он вне плана внес изменения в инсталлер/деинсталлер приложения, допустив ошибку, которая проявляется не всегда и только под админской учеткой в Windows.
Постоянный тестировщик приложения прямо перед началом тестирования был госпитализирован (такой вот реальный форс-мажор), поэтому тестированием занимался другой сотрудник, менее знакомый с продуктом. В списке изменений исправлений в инсталлере не было, и акцент в тестировании был сделан на другие компоненты. Регрессионным тестированием и автотестами ошибка не выявилась.
Приложением целую неделю пользовались все сотрудники Яндекса. Обычно этого времени хватает, чтобы обнаружить существенные баги. Однако на этот раз никто на проблему не наткнулся.
Как только пришли первые отзывы в саппорт, мы начали искать проблему, после чего оперативно выпустили версию приложения, исправляющую проблемы с инсталлером.
Напоминаем, что проблемная версия приложения – 1.1.5. Мы выпустили еще две промежуточные версии. Стабильная версия программы имеет номер 1.1.8. Удостовериться, что у вас нужная версия программы, или получить нужный апдейт можно в меню Диска (" Справка" — «О программе» — «Проверить обновления» ).
Мы очень сожалеем, что из-за наших ошибок пользователи столкнулись с такими эпическими проблемами и понимаем, что случившееся подрывает доверие к программе и всему сервису. Вся команда Диска сейчас делает все возможное, чтобы максимально улучшить процесс разработки и тестирования приложений и чтобы такой фэйл был единственным и последним в нашей истории.
UPD3: Пост в блоге Яндекс.Диска
FINAL UPD4: Яндекс выдал всем, у кого стояла проблемная версия, по 200GB на Яндекс Диске