Из за ошибки Telegram Desktop удалил 800 ГБ данных у пользователя Windows

Пользователь за компьютером потерял файлы из-за ошибки Telegram
Читать Mr. Android в:
Дзен МАКС ВКонтакте Telegram

Пользователь десктопной версии Telegram столкнулся с критическим багом, который привел к удалению около 800 ГБ данных на его компьютере с Windows. Причиной оказалась ошибка в механизме проверки орфографии, из-за которой мессенджер рекурсивно удалял содержимое папки C:\custom .

  • Баг присутствовал в версиях Telegram Desktop 7.1.0 и 7.1.1, которые были доступны около 66 часов .
  • Из-за ошибки мессенджер удалял все файлы в папке C:\custom, где у пользователя хранились программы, проекты и другие данные .
  • Проблема была связана с некорректной обработкой пути к пользовательскому словарю в библиотеке проверки орфографии .
  • Разработчики выпустили исправление в версии Telegram Desktop 7.1.2 25 августа .

Как ошибка в проверке орфографии привела к удалению данных

История началась с того, что пользователь после перезагрузки компьютера обнаружил, что многие программы перестали запускаться. Их исполняемые файлы бесследно исчезли. В ходе расследования выяснилось, что из папки C:\custom пропало практически всё содержимое .

Причиной стал баг, появившийся после изменения работы пользовательского словаря и встроенной в Windows проверки орфографии. Из-за ошибки в коде путь к словарю в определенный момент оставался пустым. После этого программа формировала путь /custom. Qt преобразовывал эту строку в папку custom в корне текущего диска, то есть в C:\custom .

Дальше происходило самое страшное. Код, ожидавший найти файл, обнаруживал папку и запускал ее рекурсивное удаление. При этом функция удаления QDir::removeRecursively() продолжала работу, даже если часть файлов была занята другими процессами. Поэтому некоторые файлы могли остаться на месте, но большая часть данных безвозвратно исчезала .

Что делать, если вы столкнулись с этой проблемой

Если вы обновили Telegram Desktop до версии 7.1.0 или 7.1.1 и обнаружили пропажу файлов, важно знать несколько вещей. Во-первых, удаление происходило только с папки C:\custom . Во-вторых, разработчики уже выпустили исправление в версии 7.1.2, которое блокирует возможность такого удаления .

Пользователь, который столкнулся с багом, подробно описал его в issue на GitHub, приложив логи из Process Monitor. Он также отметил, что Telegram начал удалять файлы не сразу после запуска, а спустя примерно 7 секунд . Для восстановления удаленных данных, к сожалению, стандартные средства Windows не помогут — потребуется использовать специализированное ПО для восстановления файлов.

Мнение редакции Mr.Android

Этот случай наглядно показывает, что даже у популярных мессенджеров могут быть критические ошибки. Баг в проверке орфографии оказался фатальным для хранения данных. Важно всегда обновлять приложения до актуальных версий, чтобы получать критические исправления. Также стоит помнить о резервном копировании важных файлов, особенно если вы храните их в нестандартных папках.

Читать Mr. Android в:
Дзен МАКС ВКонтакте Telegram

Александр Смаржек/ автор статьи

Главный редактор. Люблю быть в курсе всех технических новинок

Mr.Android — эксперт по гаджетам