Page 1 of 1

httpserver多次请求后出现:wifi:m f null 然后挂了

Posted: Tue Jan 25, 2022 2:10 pm
by MsTS96
工程是基于adf的 a2dp_sink_and_hfp_example 历程更改的,增加了 lvgl以及wifi功能
esp32 sta模式下,做为web服务器,返回给客户端html,客户端通过html发送http post请求,esp32返回json格式内容
idf为4.3
客户端发送post请求,esp32大约可以正常返回10次,以后就会出现 W (33195) wifi:m f null
然后出现:
E (19935) i2c: i2c_master_start(932): i2c command link error
E (19935) i2c: i2c_master_write_byte(985): i2c command link error
E (19945) i2c: i2c_master_write_byte(985): i2c command link error
E (19945) i2c: i2c_master_write_byte(985): i2c command link error
E (19955) i2c: i2c_master_stop(945): i2c command link error
E (19965) i2c: i2c_master_cmd_begin(1168): i2c command link error
再然后就挂了

问题:是我每次处理完请求后没有释放什么资源吗?json相关的我已经释放了

Re: httpserver多次请求后出现:wifi:m f null 然后挂了

Posted: Thu Jan 27, 2022 9:54 am
by MsTS96
有技术支持帮忙看一下吗?谢谢

Re: httpserver多次请求后出现:wifi:m f null 然后挂了

Posted: Mon Feb 28, 2022 9:58 am
by ESP_HengYC
你好,

你可以把可用的内存都打印出来, W (33195) wifi:m f null 这个错误,感觉你的应用存在内存泄露的问题。

Re: httpserver多次请求后出现:wifi:m f null 然后挂了

Posted: Thu Jun 23, 2022 6:20 am
by dengbq
IDF V4.4也遇到同样的问题,查看剩余内存:esp_get_free_heap_size,有近4M的空间,有打开PSRAM.

Re: httpserver多次请求后出现:wifi:m f null 然后挂了

Posted: Tue Jul 19, 2022 12:02 pm
by ESP_HengYC
你需要把内部的 DRAM 保留一部分出来, 不是特别重要的 task 就使用 psram。 

另外希望你把 内存的 log 打印出来, 你说的 4M 有可能都是 PSRAM 的,并不是内部 DRAM。

WiFi 协议栈为了性能,必须要使用一部分 DRAM。