配置:
* ESP-IDF v5.0-rc1
* ESP32- C3
* 堆调试在综合模式下被激活。
* WiFi 处于 WIFI_MODE_APSTA 模式
* 扫描在后台运行 (esp_wifi_scan_start)。
现在外部设备尝试连接到 ESP32-C3(AP 模式)。
代码:
- !!!!!!wifi_event_handler: event_base = 87, event_id = WIFI_EVENT_AP_START !!!!!!
- !!!!!!heap_caps_check_integrity_all = 1 !!!!!!
- 我(763)wifi:设置ps类型:1
- 我 (763) wifi:设置 ps 类型: 0
- I (763) dns_server:已创建套接字
- I (773) dns_server:套接字绑定,端口 53
- I (773) dns_server:等待数据
- 我 (3403) wifi:new:<2,1>, old:<2,1>, ap:<2,1>, sta:<0,0>, prof:2
- 我 (3403) wifi:station: xx:xx:xx:xx:xx:xx 加入, AID=1, bgn, 40U
- !!!!!!wifi_event_handler: event_base = 87, event_id = WIFI_EVENT_AP_STACONNECTED!!!!!!
- !!!!!!heap_caps_check_integrity_all = 1 !!!!!!
- I (3553) esp_netif_lwip: DHCP server assigned IP to a client, IP是:192.168.4.2
- I (5573) esp_netif_lwip: DHCP server assigned IP to a client, IP是:192.168.4.2
- I (12033) esp_netif_lwip: DHCP server assigned IP to a client, IP是:192.168.4.2
- !!!!!!wifi_event_handler: event_base = 87, event_id = WIFI_EVENT_AP_STADISCONNECTED !!!!!!
- !!!!!!heap_caps_check_integrity_all = 1 !!!!!!
- W (39333) wifi: 还没连接到合适的AP!
- 我 (39333) wifi:new:<2,1>, old:<2,1>, ap:<2,1>, sta:<0,0>, prof:2
- I (39533) wifi:发送事务 ID 为 5e01 的 SA 查询请求
- I (39743) wifi:发送事务 ID 为 f227 的 SA 查询请求
- I (39943) wifi:发送事务 ID 为 a77a 的 SA 查询请求
- I (40153) wifi: 发送事务 ID 为 aaf8 的 SA 查询请求
- I (40353) wifi:发送事务 ID 为 d7b4 的 SA 查询请求
- I (40563) wifi:STA 未响应 5 次 SA 查询尝试,重置连接发送 disassoc
- I (40563) wifi:station: xx:xx:xx:xx:xx:xx 离开,AID = 1,bss_flags 为 658547,bss:0x3fcb1998
- 我 (40563) wifi:new:<2,0>, old:<2,1>, ap:<2,1>, sta:<0,0>, prof:2
- !!!!!!wifi_event_handler: event_base = 87, event_id = WIFI_EVENT_AP_STADISCONNECTED !!!!!!
- 损坏堆:0x3fcb1c98 处的数据无效。期望 0xfefefefe 得到 0x00000000
- !!!!!!heap_caps_check_integrity_all = 0 !!!!!!
- W (40593) wifi: 还没连接到合适的AP!
- 我 (40903) wifi:new:<2,1>, old:<2,0>, ap:<2,1>, sta:<0,0>, prof:2
- 我 (40903) wifi:station: xx:xx:xx:xx:xx:xx 加入, AID=1, bgn, 40U
- 损坏堆:0x3fcb1c98 处的数据无效。期望 0xfefefefe 得到 0x00000000
- 断言失败:multi_heap_malloc multi_heap_poisoning.c:256 (ret)
- 检测到堆栈转储
- MEPC:0x40380922 RA:0x40388254 SP:0x3fca42d0 GP:0x3fc91a00
- 0x40380922: panic_abort at /home/marc/esp/esp-idf_v5.0-rc1/components/esp_system/panic.c:412
- 0x40388254: __ubsan_include 在/home/marc/esp/esp-idf_v5.0-rc1/components/esp_system/ubsan.c:313
此错误多次出现,但并非每次都出现。
我想知道为什么在连接 (event = WIFI_EVENT_AP_STACONNECTED) 事件 WIFI_EVENT_AP_STADISCONNECTED 发生两次。
第一次,WIFI_EVENT_AP_STACONNECTED 发生,heap_caps_check_integrity_all 返回 1 = 没有错误。
第二次,WIFI_EVENT_AP_STACONNECTED 发生,heap_caps_check_integrity_all 返回 0 = error。
在 heap_caps_check_integrity_all = 1 和 heap_caps_check_integrity_all = 0 之间没有自定义代码被执行。所以我猜这个错误不可能在自定义代码中。我对吗?
0
|
1个回答
|
|
|