-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SMP notifications corrupted on apollo3 #161
Comments
cc @t3zeng |
Hey guys, you can reproduce this by running the bleprph app and then try to perform an image read. Repro steps:
What I observe is that in I set a watchpoint on the address of the corrupted mbuf and was able to get the following backtrace:
What seems to happen is that in this line of code the mbuf returned is the same address as the one used to store the notify data so the mbuf gets corrupted. This behavior does not seem to be present on the nrf52840dk pca10056 |
Adding to the above, I set up some checks and increased the size of the task stack to 8192 words |
SMP notifications used to deliver SMP responses over BLE transport are corrupted on the apollo3_evb.
Below is a sample log from nRF Connect app attempting an
image list
command (as part of the DFU process). You can see the response being fragmented over two notifications, with the second notification corrupted. As a result, the concatenated CBOR is not decodable. The response does not need to be corrupted - the issue exists even for single-packet responses.This is reproducible with stock bleprph on apollo3_evb.
This is NOT reproducible with the same app on nordic_pca10056.
Error can be observed with the nRF Connect app or the nRF Device Manager app for Android/iOS (CBOR Error).
The expected second notification (at t=17:21:10.226) should be:
The text was updated successfully, but these errors were encountered: