Hi
Right now I'm using NCS2.0.0 & nRF52832 for development the mesh application.
Whenever My setting the "Light CTL Default Set"(in the file light_ctl_srv.c for function handle_default_set),it will ASSERTION.
After my tracking, I found that the problem is in the timer call from "light_ctl_srv.c" file.The calling sequence is as follows:
static void store_state(struct bt_mesh_lightness_srv *srv)
{
#if CONFIG_BT_SETTINGS
k_work_schedule(
&srv->store_timer,
K_SECONDS(CONFIG_BT_MESH_MODEL_SRV_STORE_TIMEOUT));
#endif
}D: Store: Last: 47607 Default: 45498 State: On Range: [656 - 65535] ASSERTION FAIL @ WEST_TOPDIR/zephyr/kernel/work.c:648 E: r0/a1: 0x00000004 r1/a2: 0x00000288 r2/a3: 0x00000001 E: r3/a4: 0x2000a2f6 r12/ip: 0x00000000 r14/lr: 0x0003e0f5 E: xpsr: 0x61000000 E: Faulting instruction address (r15/pc): 0x0004372c E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0 E: Current thread: 0x20005a30 (sysworkq) E: Resetting system
Why does calling the k_work_schedule here cause an assertion, but calling it elsewhere does not?