OOM from 'esp_wifi_internal_tx'

floitsch_toit
Posts: 43
Joined: Wed Jun 29, 2022 4:25 pm
Location: Aarhus, Denmark
Contact:

OOM from 'esp_wifi_internal_tx'

Postby floitsch_toit » Wed Mar 26, 2025 10:28 am

We are getting an out-of-memory when trying to send a UDP packet.

I have traced it down to the `low_level_output` of lwip calling `esp_netif_transmit_wrap` which transitively calls the 'esp_wifi_internal_tx' function. Unfortunately, I can't seem to find the sources for that function and can't debug it any further.

When we get the OOM, there is free memory available. I also instrumented malloc, and it doesn't return NULL during that call.
What is happening here, and how can I distinguish this case from actual OOMs?
What am I supposed to do when I get these OOMs when memory is available? Wait? Try again?

I can reproduce this pretty reliably by running BLE, a WiFi scan, and sending a UDP packet at the same time.
Admittedly, this is not happening on master, but on 5.3.1. If this is a known issue that is fixed in more recent versions, please let me know.

Who is online

Users browsing this forum: Bing [Bot], ChatGPT-User, PetalBot and 2 guests