In my project I use MPSL for a combination of BLE, ESB and flash sync.
The BLE/ESB timeslot handling was implemented following this example: https://github.com/too1/ncs-esb-ble-mpsl-demo
During normal operation it is running perfectly fine (so far).
However, when using MCUmgr (MCUmgr web in my case) and executing the "erase" command for an image in the slot, i get an MPSL assert:
rtt:~$ rtt:~$ [00:26:22.662,780] <err> mpsl_init: MPSL ASSERT: 106, 477
rtt:~$ [00:26:22.662,811] <err> os: ***** HARD FAULT *****
rtt:~$ [00:26:22.662,841] <err> os: Fault escalation (see below)
rtt:~$ [00:26:22.662,872] <err> os: ARCH_EXCEPT with reason 3
rtt:~$ [00:26:22.662,902] <err> os: r0/a1: 0x00000003 r1/a2: 0x00000000 r2/a3: 0x00015393
rtt:~$ [00:26:22.662,933] <err> os: r3/a4: 0x00000000 r12/ip: 0x200074c0 r14/lr: 0xffffffff
rtt:~$ [00:26:22.662,963] <err> os: xpsr: 0x61000000
rtt:~$ [00:26:22.663,024] <err> os: s[ 0]: 0x00000000 s[ 1]: 0x00037f59 s[ 2]: 0x00000000 s[ 3]: 0x20002398
rtt:~$ [00:26:22.663,085] <err> os: s[ 4]: 0x2000239a s[ 5]: 0x00020a9d s[ 6]: 0x00000000 s[ 7]: 0x00000000
rtt:~$ [00:26:22.663,146] <err> os: s[ 8]: 0x00000000 s[ 9]: 0x00037f4f s[10]: 0x00000000 s[11]: 0x00000000
rtt:~$ [00:26:22.663,208] <err> os: s[12]: 0x00061ff8 s[13]: 0x2001587c s[14]: 0x00000000 s[15]: 0x2001587c
rtt:~$ [00:26:22.663,238] <err> os: fpscr: 0x00000000
rtt:~$ [00:26:22.663,269] <err> os: Faulting instruction address (r15/pc): 0x00037f86
rtt:~$ [00:26:22.663,299] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
rtt:~$ [00:26:22.663,330] <err> os: Current thread: 0x20008460 (MPSL Work)
rtt:~$ [00:26:23.155,944] <err> os: Halting system
Of course the filename 106 and line number 477 don't really tell me much about what triggered it, and since the MPSL lib is closed source there's no way to find out.
I hope you can provide me with the details of where this assert was triggered and perhaps some pointers to what i could look at, to prevent this from happening