Пользователь десктопной версии 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
Этот случай наглядно показывает, что даже у популярных мессенджеров могут быть критические ошибки. Баг в проверке орфографии оказался фатальным для хранения данных. Важно всегда обновлять приложения до актуальных версий, чтобы получать критические исправления. Также стоит помнить о резервном копировании важных файлов, особенно если вы храните их в нестандартных папках.

