Skip to content

Conversation

@jerpelea
Copy link
Contributor

Summary

Long term (1 hour) IPERF test was failing for ESP32C3 and ESP32C6 when running as server.
The failure happened on debug assertion related to IOB, as shown below.

[dut-0] 626.25- 631.26 sec 1376256 Bytes 2.20 Mbits/sec
[dut-1] dump_assert_info: Current Version: NuttX 10.4.0 e7f3a53706 Dec 10 2024 09:53:08 risc-v
[dut-1] dump_assert_info: Assertion failed iobq->qh_tail: at file: iob/iob_add_queue.c:73 task: wifi process: Kernel 0x40001720
[dut-1] up_dump_register: EPC: 420038aa
[dut-1] up_dump_register: A0: 3fc8ed70 A1: 00000049 A2: 3c0b6c04 A3: 00000000

Analyzing the IOB status at this assertion, it was found that in this backtrace sequence, wlan_recvframe did not have a spinlock as expected (this is present on Xtensa devices). This caused unexpected behavior as some IOBs were deleted.

gdb) backtrace
+backtrace
#0 iob_add_queue_internal (iob=0x40817c74 <g_iob_buffer+12064>, iobq=0x4081d244 <g_wlan_priv+256>,
qentry=0x40814c94 <g_iob_qpool+800>) at iob/iob_add_queue.c:75
#1 0x42044e3a in wlan_rx_done (priv=0x4081d144 <g_wlan_priv>, buffer=, len=590, eb=0x40837760)
at common/espressif/esp_wlan.c:464
#2 0x4080bf7a in sta_input ()

Impact

RELEASE

Testing

CI

@github-actions github-actions bot added Arch: risc-v Issues related to the RISC-V (32-bit or 64-bit) architecture Size: XS The size of the change in this PR is very small labels Dec 27, 2024
@xiaoxiang781216 xiaoxiang781216 merged commit 91a750d into apache:releases/12.8 Dec 28, 2024
16 of 17 checks passed
@jerpelea jerpelea deleted the bp-15294 branch December 28, 2024 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Arch: risc-v Issues related to the RISC-V (32-bit or 64-bit) architecture Size: XS The size of the change in this PR is very small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants