I'm seeing this error PM_EVT_PEER_DATA_UPDATE_FAILED sometimes and I need to understand what are the options on handling this error except for just asserting it. I can't seem to find any information on it.
So far, I've seen this happen when
I'm using SDK14.0 with S132 v5.0.0 on a custom board with nRF52832.
I'll appreciate the help.
Screenshot of assert and the callstack, error's value is 10:
Could you try to debug deeper and find where the PM_EVT_PEER_DATA_UPDATE_FAILED is thrown ? There are only a few places it's assigned to evt_id.
I assume what you described are 2 different scenarios that you see the issue, they are not related ?
On the first scenario, have you enable allow_repairing = true when there is PM_EVT_CONN_SEC_CONFIG_REQ event in pm_evt_handler() in main.c ? Without that the nRF5 will reject pairing if the central try to pair again.
Do you have any flash operation in your application ? I suspect there could be some corruption in the flash area dedicated for peer manager.
I added a screenshot with the call stack showing the assertion.
Thanks for the screenshot, but we need to debug deeper, please add a breakpoint where the PM_EVT_PEER_DATA_UPDATE_FAILED is assigned , basically add break points on this line:
pm_evt.evt_id = PM_EVT_PEER_DATA_UPDATE_FAILED;
There are 3 of them in the code, please use CTRL+SHIFT+F to find them in the code.
Can you reproduce the issue using our examples in the SDK ?
Hi Hung Bui,
I faced the same issue, I also use the 2 scenarios that you mentioned.
We use a lot of flash operation in my application, and found the issue usually happened when having flash operation.
@Amy: Please create a new case, and please follow what I suggested above and let us know what you find.