BLE: Crash with debug prints enabled
Compiled with: ./bootstrap.sh -Ddebug_prints=true -Dble_trace=true
PalSysAssertTrap () at ../epicardium/ble/ble.c:59
59 }
(gdb) bt
#0 PalSysAssertTrap () at ../epicardium/ble/ble.c:59
#1 0x1002fd80 in WsfAssert (
pFile=pFile@entry=0x100554f6 "../lib/sdk/Libraries/BTLE/link_layer/controller/sources/ble/bb/bb_ble_conn_slave.c", line=line@entry=143) at ../lib/sdk/Libraries/BTLE/wsf/sources/port/baremetal/wsf_assert.c:62
#2 0x100349f0 in bbSlvConnRxCompCback (status=<optimized out>, rssi=<optimized out>, crc=<optimized out>,
timestamp=186027024, rxPhyOptions=0 '\000')
at ../lib/sdk/Libraries/BTLE/link_layer/controller/sources/ble/bb/bb_ble_conn_slave.c:143
#3 0x10043e6e in cb_rx_timeout_interrupt_handler (tstamp=186027024)
at /home/maxim/Documents/src/BLE/mcbusw/Hardware/Micro/ME14/Firmware/trunk/NDALibraries/BTLE/phy/llc/shared/llc_int_handlers.c:268
#4 0x100462d2 in BTLE_SFD_TO_IRQHandler ()
at /home/maxim/Documents/src/BLE/mcbusw/Hardware/Micro/ME14/Firmware/trunk/NDALibraries/BTLE/phy/dbb/control/pan/dbb_intc.c:366
#5 <signal handler called>
#6 0x10023808 in prvPortStartFirstTask () at ../lib/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c:267
#7 0x10023bf6 in xPortStartScheduler () at ../lib/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c:379
#8 0x00000000 in ?? ()
Code in question:
if (bbBleCb.evtState == 0)
{
bbBleCb.evtState = 1;
pConn->startTs = timestamp;
bbBleCb.bbParam.rxTimeoutUsec = 2 * LL_MAX_TIFS_DEVIATION;
}
WSF_ASSERT(bbBleCb.pRxDataBuf);
pBuf = bbBleCb.pRxDataBuf;
bbBleCb.pRxDataBuf = NULL;