Skip to content

Ci fix esp32s2 wifi#2382

Open
petermm wants to merge 2 commits into
atomvm:release-0.7from
petermm:ci-fix-esp32s2-wifi-harness
Open

Ci fix esp32s2 wifi#2382
petermm wants to merge 2 commits into
atomvm:release-0.7from
petermm:ci-fix-esp32s2-wifi-harness

Conversation

@petermm

@petermm petermm commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

ESP32 CI harness had a leak of the xQueue - LLM estimated close to 0.5kb times 22 leaks for a total of around 10kb leak.

Esp32s2 is under a lot of mem pressure, so lowering CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=6 helps it pass, in future we can enable psram, but seems nice to have a test under some pressure..

These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later

petermm added 2 commits July 24, 2026 16:26
The ESP32 event queue and queue set are process-global, but every test VM initialized them again and overwrote the existing handles. Each invocation leaked both FreeRTOS allocations and gradually exhausted heap on memory-constrained targets.

Make queue initialization idempotent and drain retained sender events in the test harness before creating each new GlobalContext. Draining through the queue set prevents stale pointers from a destroyed VM from being delivered to the next one without adding test lifecycle handling to production firmware.

Use an explicit void parameter list for the queue initializer declaration and definition.

Signed-off-by: Peter M <petermm@gmail.com>
Signed-off-by: Peter M <petermm@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant