Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

"App_error_fault" problem occurred when calling fds_gc()

Hello, everyone, when I call err_code = fds_record_update(&record_desc, &record), I sometimes get an error: FDS_ERR_NO_SPACE_IN_FLASH.

Therefore, when this error occurs, I call fds_gc().

 

But the problem is that at this time it will appear app_error_fault, as shown in the figure.

Is this situation due to insufficient stack?

 I tried to change the stack from 8192 to 10240 and the problem did not occur. Is it the correct solution?

nRF52 SDK 17.0.2

  • Helo,

     

     I tried to change the stack from 8192 to 10240 and the problem did not occur. Is it the correct solution?

     I don't think so. At least, you should investigate a bit more first. 

    Do you see any logging information at the time, or before, you hit the NRF_BREAKPOINT_COND?

    If not, do you see any logs at all? Anything that is printed using NRF_LOG_INFO(); in your project? If not, what does your sdk_config.h file look like? And you are using Segger Embedded Studio (SES) right?

    Are you using the nRF52 DK? I just want to know a bit about your setup to figure out how to get the logs up and rolling.

    If you do see the logs, and the line "Fatal error." is printed, can you please add DEBUG to your preprocessor definitions? Let me know if you are unsure how to do this.

    When that is done, the "Fatal error." should be replaced with some error information somewhere in your project. Where does it point to?

    Do you pass the err_code = FDS_ERR_NO_SPACE_IN_FLASH into an APP_ERROR_CHECK(err_code)?

    Best regards,

    Edvin

Related