Mozilla начинает борьбу с утечками памяти в дополнениях

Mozilla начинает борьбу с утечками памяти в дополнениях

После подведения итогов успешного проекта MemShrink, который позволил снизить на 20-50% потребление памяти в Firefox 7, разработчики из Mozilla собираются заняться обнаружением утечек памяти в сторонних дополнениях.

Участники проекта полагают, что громадное число жалоб на слишком высокое потребление памяти браузером вызывают не проблемы в самом Firefox, а утечки памяти в установленных пользователями дополнениях.

Поскольку пользователи в большинстве своем не могут разобраться, что именно вызывает большой расход памяти (браузер или установленные дополнения), они негативно реагируют на сам Firefox.

Один из разработчиков Mozilla, Джастин Лебар (Justin Lebar), предлагает обратить особое внимание на эту проблему и регулярно проводить мониторинг потребления памяти в дополнениях. Он полагает, что Mozilla должна нести ответственность перед своими пользователями и как раз сейчас наступило время взять на себя обязанности по защите пользователей от проблем, вызываемых дополнениями и поступить таким же образом, как это было сделано для защиты пользователей от устаревших плагинов.

Напомним, что тогда эти плагины содержали проблемы безопасности, а теперь использование плагинов и дополнений, которые содержат ошибки и имеют и серьёзные проблемы со стабильностью, блокируется.

Джастин Лебар выступил с предложением реализовать стратегию, включающую в себя три подхода:
- добавление на ресурсы, которые занимаются распространением дополнений специальных средств, позволяющих выявить утечки памяти в коде дополнений. В текущий момент все дополнения, перед тем как попасть в каталог, в обязательном порядке проходят предварительный тесты на предмет наличия вредоносного кода. Джастин предлагает расширить спектр этих проверок, а кроме того, добавить в стандартный процесс приёма новых дополнений поиск утечек памяти;
- создать и предоставить разработчикам приложений целый набор инструментов, позволяющих еще на этапе разработки выявлять и решать возникшие проблемы с использованием памяти.
- предоставление возможности пометки, а также публичной идентификации тех дополнений, которые потребляют слишком много памяти, чтобы стимулировать разработчиков и информировать пользователей можно составить самых прожорливых дополнений, как это уже реализовано в рейтинге самых медленных дополнений;

А тем временем, уже появились объявления о появлении поддержки фоновой установки обновлений в неофициальных ночных Ash-сборках.

Эта технология призвана минимизировать время, отнимаемое у пользователей на ожидание окончания процесса установки обновления, а также прекратить участие пользователей в процессе приёма обновлений (независимо от желания пользователей, обновление будет активировано во время первого перезапуска).

Кстати, статистические данные свидетельствуют о том, что примерно 15% пользователей браузера по тем или иным причинам не желают загружать обновления и остаются пользователями старых версий, подверженных известным уязвимостям.

Метод фоновой установки обновлений заключается в том, что после загрузки обновления (как автоматической, так и по инициативе пользователя), приложение для установки обновления запустится сразу и без вывода дополнительных диалогов. В таком случае приложение применит обновление, но уже обновлённую версию Firefox разместит в отдельной директории, которая не пересекается с текущей установочной директорией.

По окончании процесса, пользователь получит ненавязчивое сообщение и вместо длительного применения обновления при первом перезапуске рабочая директория будет перенаправлена на директорию с установленным обновлением мгновенно.

В текущее время новая техника фоновой установки обновлений носит экспериментальный характер и требует дополнительного тестирования. В связи с этим, трудно сказать, начиная с какого релиза браузера Firefox, эта возможность будет активирована по умолчанию.