Защита OpenClaw от переполнения памяти при работе с Google Meet
В недавно опубликованном обновлении OpenClaw внедрил механизм ограничения размера JSON-ответов при интеграции с Google Meet. Это изменение направлено на предотвращение проблем с переполнением памяти (OOM) при получении чрезмерно больших ответов от API.
В чем суть обновления?
Прежняя реализация в OpenClaw напрямую читала JSON-ответы без ограничения размера, что могло привести к неограниченному выделению памяти при обработке больших HTTP-ответов. Новый подход заменяет этот метод функцией readProviderJsonResponse с жестким лимитом в 16 МБ на размер загружаемого JSON-объекта.
В дополнение к этому была сделана рефакторинг-коррекция: выделена общая проверка конфигурации (hasConfig) для улучшения читаемости кода.
Значение для пользователей и разработчиков
- Стабильность. Новый лимит предотвращает аварийное завершение приложения из-за нехватки памяти при обработке огромных ответов.
- Безопасность. Ограничение помогает отразить потенциальные атаки через загрузку чрезмерно больших данных.
- Качество разработки. Добавлены реальные интеграционные тесты, которые проверяют поведение кода при работе с реальными HTTP-подключениями.
Как это работает технически?
OpenClaw теперь ограничивает чтение JSON-ответа HTTP-запроса к Google Meet и связанным сервисам (календарь и OAuth) до 16 мегабайт. Если размер превышает этот порог, ответ отклоняется, а ошибка обрабатывается безопасно.
В тестах использовались как синтетические объекты отклика, так и локальные ТСР-серверы для имитации реального сетевого поведения, что повысило надежность проверок.
Что делать дальше пользователям OpenClaw?
- Обновить OpenClaw до последней версии, содержащей исправление (#98850), чтобы избежать возможных проблем с памятью.
- При использовании интеграции Google Meet учитывать новые ограничения на размер данных.
- Ознакомиться с полным гидом по OpenClaw для понимания возможностей и настроек платформы.
Краткий список улучшений:
- Введено ограничение на чтение JSON-ответов (16 МБ).
- Повышена стабильность при загрузке больших данных.
- Добавлены интеграционные тесты для проверки лимитов.
- Исправлена потенциальная рекурсия в моках fetch.
Полезные ссылки по теме
Источник:
fix(google-meet): bound JSON response body reads to prevent OOM (#98850) в GitHub