We are implementing a Joiner device using OpenThread on the nRF5340 (with Zephyr, NCS v3.5.99-ncs1-4). After successfully joining the Commissioner's network ("Join success"), the device crashes shortly afterward with a fatal kernel oops, followed by continuous system resets.
Upon debugging, the faulting instruction address (from the crash logs) maps to soft_irq in the zephyr.map file.
Board: nRF5340 DK
SDK Version: v3.5.99-ncs1-4
OpenThread Role: Joiner
Join Method: OpenThread C APIs (otJoinerStart)
I have attached the device logs for your reference.
Kindly provide guidance or a solution to resolve this issue.
uart:~$ [00:00:00.316,162] <inf> ieee802154_nrf5: nRF5 802154 radio initialized [00:00:00.324,829] <inf> fs_nvs: 2 Sectors of 4096 bytes [00:00:00.324,859] <inf> fs_nvs: alloc wra: 0, fd0 [00:00:00.324,859] <inf> fs_nvs: data wra: 0, 70 [00:00:00.330,780] <inf> net_l2_openthread: State changed! Flags: 0x00038210 Current role: disabled [00:00:00.331,237] <inf> net_l2_openthread: OpenThread version: OPENTHREAD/b9dcdbca4; Zephyr; Jul 14 2025 13:43:55 [00:00:00.333,587] <inf> net_l2_openthread: State changed! Flags: 0x0900900b Current role: disabled *** Booting nRF Connect SDK v3.5.99-ncs1-4 *** [00:00:00.334,625] <inf> net_config: Initializing network [00:00:00.334,625] <inf> net_config: Waiting interface 1 (0x200008dc) to be up... [00:00:00.316,162] <inf> ieee802154_nrf5: nRF5 802154 radio initialized [00:00:00.324,829] <inf> fs_nvs: 2 Sectors of 4096 bytes [00:00:00.324,859] <inf> fs_nvs: alloc wra: 0, fd0 [00:00:00.324,859] <inf> fs_nvs: data wra: 0, 70 [00:00:00.330,780] <inf> net_l2_openthread: State changed! Flags: 0x00038210 Current role: disabled [00:00:00.331,237] <inf> net_l2_openthread: OpenThread version: OPENTHREAD/b9dcdbca4; Zephyr; Jul 14 2025 13:43:55 [00:00:00.333,587] <inf> net_l2_openthread: State changed! Flags: 0x0900900b Current role: disabled *** Booting nRF Connect SDK v3.5.99-ncs1-4 *** [00:00:00.334,625] <inf> net_config: Initializing network [00:00:00.334,625] <inf> net_config: Waiting interface 1 (0x200008dc) to be up... uart:~$ [00:00:05.197,906] <inf> net_l2_openthread: State changed! Flags: 0x00008000 Current role: disabled [00:00:05.292,236] <inf> net_l2_openthread: State changed! Flags: 0x0800c00b Current role: disabled [00:00:05.197,906] <inf> net_l2_openthread: State changed! Flags: 0x00008000 Current role: disabled [00:00:05.292,236] <inf> net_l2_openthread: State changed! Flags: 0x0800c00b Current role: disabled uart:~$ [00:00:06.335,998] <inf> net_l2_openthread: State changed! Flags: 0x08000000 Current role: disabled [00:00:06.381,256] <inf> net_l2_openthread: State changed! Flags: 0x08000000 Current role: disabled [00:00:06.452,331] <inf> net_l2_openthread: State changed! Flags: 0x18040100 Current role: disabled [00:00:06.551,818] <inf> net_l2_openthread: Join success [00:00:06.553,283] <inf> net_l2_openthread: State changed! Flags: 0x1800100f Current role: detached [00:00:06.335,998] <inf> net_l2_openthread: State changed! Flags: 0x08000000 Current role: disabled [00:00:06.381,256] <inf> net_l2_openthread: State changed! Flags: 0x08000000 Current role: disabled [00:00:06.452,331] <inf> net_l2_openthread: State changed! Flags: 0x18040100 Current role: disabled [00:00:06.551,818] <inf> net_l2_openthread: Join success [00:00:06.553,283] <inf> net_l2_openthread: State changed! Flags: 0x1800100f Current role: detached [00:00:09.588,775] <err> spinel_ipc_backend_rsp_ntf: No response within timeout 500 [00:00:09.588,775] <err> spinel_ipc_backend_rsp_ntf: No response within timeout 500 uart:~$ [00:00:09.588,806] <err> os: r0/a1: 0x00000003 r1/a2: 0x00007957 r2/a3: 0x0000df95 [00:00:09.588,806] <err> os: r0/a1: 0x00000003 r1/a2: 0x00007957 r2/a3: 0x0000df95 uart:~$ [00:00:09.588,836] <err> os: r3/a4: 0x0003d619 r12/ip: 0x2000104c r14/lr: 0x00014be9 [00:00:09.588,836] <err> os: r3/a4: 0x0003d619 r12/ip: 0x2000104c r14/lr: 0x00014be9 uart:~$ [00:00:09.588,836] <err> os: xpsr: 0x61100000 [00:00:09.588,836] <err> os: xpsr: 0x61100000 uart:~$ [00:00:09.588,836] <err> os: s[ 0]: 0x20007d28 s[ 1]: 0x00008400 s[ 2]: 0x00000000 s[ 3]: 0x20013fac [00:00:09.588,836] <err> os: s[ 0]: 0x20007d28 s[ 1]: 0x00008400 s[ 2]: 0x00000000 s[ 3]: 0x20013fac uart:~$ [00:00:09.588,867] <err> os: s[ 4]: 0x00000438 s[ 5]: 0x0003d8a3 s[ 6]: 0x000656e8 s[ 7]: 0x000001f4 [00:00:09.588,867] <err> os: s[ 4]: 0x00000438 s[ 5]: 0x0003d8a3 s[ 6]: 0x000656e8 s[ 7]: 0x000001f4 uart:~$ [00:00:09.588,897] <err> os: s[ 8]: 0x000001f4 s[ 9]: 0x000134e7 s[10]: 0x00000000 s[11]: 0x00045f8d [00:00:09.588,897] <err> os: s[ 8]: 0x000001f4 s[ 9]: 0x000134e7 s[10]: 0x00000000 s[11]: 0x00045f8d uart:~$ [00:00:09.588,897] <err> os: s[12]: 0x00008400 s[13]: 0x00000001 s[14]: 0x000658b8 s[15]: 0x00000000 [00:00:09.588,897] <err> os: s[12]: 0x00008400 s[13]: 0x00000001 s[14]: 0x000658b8 s[15]: 0x00000000 uart:~$ [00:00:09.588,897] <err> os: fpscr: 0x20007d28 [00:00:09.588,897] <err> os: fpscr: 0x20007d28 uart:~$ [00:00:09.588,928] <err> os: Faulting instruction address (r15/pc): 0x00044b0e [00:00:09.588,928] <err> os: Faulting instruction address (r15/pc): 0x00044b0e uart:~$ [00:00:09.588,958] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0 [00:00:09.588,958] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0 uart:~$ [00:00:09.588,989] <err> os: Current thread: 0x200024b8 (openthread) [00:00:09.588,989] <err> os: Current thread: 0x200024b8 (openthread) uart:~$ [00:00:09.823,486] <err> fatal_error: Resetting system [00:00:09.823,486] <err> fatal_error: Resetting system uart:~$ uart:~$ [00:00:00.263,153] <inf> ieee802154_nrf5: nRF5 802154 radio initialized [00:00:00.271,057] <inf> fs_nvs: 2 Sectors of 4096 bytes [00:00:00.271,087] <inf> fs_nvs: alloc wra: 0, f40 [00:00:00.271,087] <inf> fs_nvs: data wra: 0, 2b4 [00:00:00.281,982] <inf> net_l2_openthread: State changed! Flags: 0x1017c210 Current role: disabled [00:00:00.282,440] <inf> net_l2_openthread: OpenThread version: OPENTHREAD/b9dcdbca4; Zephyr; Jul 14 2025 13:43:55 [00:00:00.283,966] <inf> net_l2_openthread: Network name: OpenThread [00:00:00.285,644] <inf> net_l2_openthread: State changed! Flags: 0x1100100d Current role: detached *** Booting nRF Connect SDK v3.5.99-ncs1-4 *** [00:00:00.286,071] <inf> net_config: Initializing network [00:00:00.286,102] <inf> net_config: Waiting interface 1 (0x200008dc) to be up... [00:00:00.263,153] <inf> ieee802154_nrf5: nRF5 802154 radio initialized [00:00:00.271,057] <inf> fs_nvs: 2 Sectors of 4096 bytes [00:00:00.271,087] <inf> fs_nvs: alloc wra: 0, f40 [00:00:00.271,087] <inf> fs_nvs: data wra: 0, 2b4 [00:00:00.281,982] <inf> net_l2_openthread: State changed! Flags: 0x1017c210 Current role: disabled [00:00:00.282,440] <inf> net_l2_openthread: OpenThread version: OPENTHREAD/b9dcdbca4; Zephyr; Jul 14 2025 13:43:55 [00:00:00.283,966] <inf> net_l2_openthread: Network name: OpenThread [00:00:00.285,644] <inf> net_l2_openthread: State changed! Flags: 0x1100100d Current role: detached *** Booting nRF Connect SDK v3.5.99-ncs1-4 *** [00:00:00.286,071] <inf> net_config: Initializing network [00:00:00.286,102] <inf> net_config: Waiting interface 1 (0x200008dc) to be up... [00:00:03.413,452] <err> spinel_ipc_backend_rsp_ntf: No response within timeout 500 [00:00:03.413,452] <err> spinel_ipc_backend_rsp_ntf: No response within timeout 500 uart:~$ [00:00:03.413,513] <err> os: r0/a1: 0x00000003 r1/a2: 0x00000000 r2/a3: 0x50015000 [00:00:03.413,513] <err> os: r0/a1: 0x00000003 r1/a2: 0x00000000 r2/a3: 0x50015000 uart:~$ [00:00:03.413,513] <err> os: r3/a4: 0x0003d619 r12/ip: 0x00000003 r14/lr: 0x00014be9 [00:00:03.413,513] <err> os: r3/a4: 0x0003d619 r12/ip: 0x00000003 r14/lr: 0x00014be9 uart:~$ [00:00:03.413,513] <err> os: xpsr: 0x61100000 [00:00:03.413,513] <err> os: xpsr: 0x61100000 uart:~$ [00:00:03.413,543] <err> os: s[ 0]: 0x20007d28 s[ 1]: 0x00008400 s[ 2]: 0x00000000 s[ 3]: 0x20013fd4 [00:00:03.413,543] <err> os: s[ 0]: 0x20007d28 s[ 1]: 0x00008400 s[ 2]: 0x00000000 s[ 3]: 0x20013fd4 uart:~$ [00:00:03.413,543] <err> os: s[ 4]: 0x0000043b s[ 5]: 0x0003d8a3 s[ 6]: 0x000656e8 s[ 7]: 0x000001f4 [00:00:03.413,543] <err> os: s[ 4]: 0x0000043b s[ 5]: 0x0003d8a3 s[ 6]: 0x000656e8 s[ 7]: 0x000001f4 uart:~$ [00:00:03.413,574] <err> os: s[ 8]: 0x000001f4 s[ 9]: 0x000134e7 s[10]: 0x00000000 s[11]: 0x00045f8d [00:00:03.413,574] <err> os: s[ 8]: 0x000001f4 s[ 9]: 0x000134e7 s[10]: 0x00000000 s[11]: 0x00045f8d uart:~$ [00:00:03.413,574] <err> os: s[12]: 0x00008400 s[13]: 0x00000001 s[14]: 0x000658b8 s[15]: 0x00000000 [00:00:03.413,574] <err> os: s[12]: 0x00008400 s[13]: 0x00000001 s[14]: 0x000658b8 s[15]: 0x00000000 uart:~$ [00:00:03.413,604] <err> os: fpscr: 0x20007d28 [00:00:03.413,604] <err> os: fpscr: 0x20007d28 uart:~$ [00:00:03.413,604] <err> os: Faulting instruction address (r15/pc): 0x00044b0e [00:00:03.413,604] <err> os: Faulting instruction address (r15/pc): 0x00044b0e uart:~$ [00:00:03.413,635] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0 [00:00:03.413,635] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0 uart:~$ [00:00:03.413,696] <err> os: Current thread: 0x200024b8 (openthread) [00:00:03.413,696] <err> os: Current thread: 0x200024b8 (openthread) uart:~$ [00:00:03.648,162] <err> fatal_error: Resetting system [00:00:03.648,162] <err> fatal_error: Resetting system uart:~$