Crash issue on sdk v2.9.0

SOC: nrf52840

SDK: v2.9.0

Device is a central, it connected to 16 peripherals, these peripherals will power on 90 seconds and then power off 10 seconds(one cycle).

After ten days of operation, there will be a crash.

Has anyone run into this problem? How do you solve it? Thank you!

Crash 1, reason is K_ERR_KERNEL_OOPS=3.

Crash 2, reason is K_ERR_ARM_BUS_IMPRECISE_DATA_BUS=26.

CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=768

logging thread max stack usage: 744 B(97%)

 

Parents Reply Children
  • Hi Leo,

    Sorry I should have asked earlier, but how many units total are you testing? 

    Of the two units that have that problem, does it consistently occur again?

  • Hi Hieu,

    There are 4 units under testing, two of which are connected to J-Link in debug mode.

    Only the devices connected to J-Link have encountered this issue (ASSERT: 53, 295).

    I want to know what these error codes mean. If they are caused by the application, I can make changes on my side.

    Partial configuration:

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING is not set
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
    CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_LF_ALWAYS_ON=y
    CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_PERIOD=4000
    CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_MAX_SKIP=1
    CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_TEMP_DIFF=2
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_100PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_75PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM is not set
    CONFIG_CLOCK_CONTROL_NRF_ACCURACY=500
  •  Hi, Hieu

      

    I would like to know the meaning of these error codes(ASSERT: 53, 295, ASSERT: 33,748) ; can you ask the software engineer directly? 

  • Hi Leo,

    Unfortunately, the asserts are part of the SoftDevice Controller, so we are very limited in what we can disclosed. Right now, they are still being investigated, and I am not clear to disclose anything yet.

    I will update you once I have anything I can share. Our apologies for the inconvenience.

  • Hi Leo,

    ASSERT: 33,748 is due to a race-condition bug. The condition is very difficult to trigger, but with 16 concurrent connections, it happened faster. We have registered it and is working on a fix. However, I cannot comment about the timeline on DevZone, and you will have to talk to sales for that.

    ASSERT: 53, 295 means that the central role was ran longer than expected. Does your application have any highest priority interrupts, or does it disable interrupts for extended period of time?

Related