Hi,
we are developing an application based on multi_role.
The device continuously scans. When it finds a certain MAC address it connects and starts discovering services.
At this point if I open two connections to the device an assert fail.
This is the backtrace:
halAssertHandler() at hal_assert.c:173 0x00019BFE halAssertHandlerExt(int)() at hal_assert.c:207 0x00016BEC llFindStartType(struct <unnamed> *, struct <unnamed> *)() at ll_scheduler.c:986 0x0000E19A llScheduler() at ll_scheduler.c:570 0x00001D5C LL_ProcessEvent(unsigned char, unsigned short)() at ll.c:1.346 0x00001F98 osal_run_system() at osal.c:1.799 0x000060CA osal_start_system() at osal.c:1.514 0x00015F38 stack_main(void *)() at osal_icall_ble.c:265 0x00012468 startup_entry(struct _icall_remote_task_arg_t *, void *)() at icall_startup.c:235 0x00016504 ICall_taskEntry(unsigned int, unsigned int)() at icall.c:512 0x0001928C ti_sysbios_knl_Task_exit__E() at Task.c:455 0x0001445C (next frame is identical to an existing frame)
And this the execution context on osal.c, line 1799: events = (tasksArr[idx])( idx, events );
dest_id int 0x20002088 (Hex) 0x20001C24
dst unsigned char 0 '\x00' 0x20001C9D
entity int 0x2E000000 (Hex) 0x20001BF8
events int 0x20001F08 (Hex) 0x20001C20
hdr struct _icall_msg_hdr_t * 0x00000011 {next=0xAD000182,srcentity=130 '\x82',dstentity=1 '\x01',format=0 '\x00',len=... 0x20001C28
*(hdr) struct _icall_msg_hdr_t {next=0xAD000182,srcentity=130 '\x82',dstentity=1 '\x01',format=0 '\x00',len=386... 0x00000011
next void * 0xAD000182 0x00000011
*(next) unknown cannot load from non-primitive location
srcentity unsigned char 130 '\x82' 0x00000015
dstentity unsigned char 1 '\x01' 0x00000016
format unsigned char 0 '\x00' 0x00000017
len unsigned short 386 0x00000019
dest_id unsigned char 0 '\x00' 0x0000001B
i unsigned char 8 '\x08' 0x20001C20
idx unsigned char 8 '\x08' 0x20001C20
intState unsigned int 536875500 0x20001C34
msg void * 0x00000000 0x20001C98
next_timeout_post unsigned long 17 0x20001C28
next_timeout_prior unsigned long 4294967295 0x20001CA4
proxyid int 0 Register R0
src unsigned char 0 '\x00' 0x20001C9C
What can cause this error?
The sdk used is the 2.40.0.32, MAX_NUM_BLE_CONNS is set to 4.