If using multiple BLE communication, after some time (smaller than 1 hour) a MPSL ASSERT (112, 2134) occurs.
The function m_assert_handler was called, when MPSL_IRQ_TIMER0_Handler was called.
Mostly if the MPSL_IRQ_TIMER0_Handler was called it works fine, with no assertion.
Following clock is configured: CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
It does not matter, if the device works as BLE server and/or client.
It also does not matter, if the advertising is started with bt_le_adv_start_legacy or bt_le_ext_adv_start.
It also does not matter, if the debugger is connected to the device or not.
If there is only one BLE communication active, it works fine.
It is an application that uses the NCS version 2.4.0.
What could be the reason for these assertion?
Output of SEGGER J-Link:
[ 159.325408] <err> mpsl_init: m_assert_handler: MPSL ASSERT: 112, 2134[0m
[ 159.325439] <err> os: hard_fault: ***** HARD FAULT *****
[ 159.325469] <err> os: hard_fault: Fault escalation (see below)
[ 159.325469] <err> os: hard_fault: ARCH_EXCEPT with reason 3
[ 159.325500] <err> os: esf_dump: r0/a1: 0x00000003 r1/a2: 0x00000000 r2/a3: 0x000005c3
[ 159.325500] [1;31m<err> os: esf_dump: r3/a4: 0x00000000 r12/ip: 0x200055e8 r14/lr: 0x00000000
[ 159.325531] <err> os: esf_dump: xpsr: 0x41000018
[ 159.325531] [1;31m<err> os: esf_dump: Faulting instruction address (r15/pc): 0x00045740
[ 159.325592] <err> os: z_fatal_error: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0[0m
[ 159.325622] <err> os: z_fatal_error: Fault during interrupt handling
[ 159.325653] <err> os: z_fatal_error: Current thread: 0x200054f8 (idle)
[ 160.355163] [1;31m<err> fatal_error: k_sys_fatal_error_handler: Resetting system