Reg: Zephyr OpenThread Joiner crashes after Join success — Kernel oops

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:~$ 

Related