Hello,
we are using the MCU PLUS SDK 09.00 compiled with LTS 3.2.0.
We have an issue with the Ipc which took us weeks to be catched and it's really hard to reproduce, let alone creating a minimal example so we would need some help for a good practice to keep on debugging this issue.
So after a lot of debugging we identified this issue to be settled inside the RPMessage/IpcNotify-drivers of the SDK. We noticed that one core tries to write a package via RPMessage into the VRing while the other core has not read the packet.
We are using RPMessage for core-to-core-communication.
If one core sends a packet the other cores gets an interrupt and the callback is called. Inside this callback - which is still in interrupt context - we are writing a value back into the VRing-Buffer into the user-space of the packet, so we know this packet was already read. On the other side for every send we check if this value is present. If the value is not present this means the packet was not read.
It happens that the value was not written, which means the packet was not read but the other cores tries to wite at this location and we cannot identify why this happens. This only happens from time to time. sometimes quite early, sometimes a bit later.
I also tried to verify this with another project with a heavy load communication via Ipc but I cannot recreate this issue unfortunately so we can't even provide a minimal example.
Do you have any idea how we can proceed from here? We are also open for a debug-session.
Best regards
Felix


