The MCU SDK guide says that one should not use malloc in MCU code (which sounds like it is probably supported, but...?).
Related to the question of memory - it appears as though there is some limit to the amount of data that can be queued to any of the IPC channels, and that they all stop communicating if any one is full. Reading some data out of the full buffer appears to alleviate the issue.
Maybe this is standard Linux behavior, or it could be configured to spill rather than stall?
We tested the MCU via IPC with debug_print, host_send and host_receive but couldn't replicate the issue. Could you let us know how are you getting this behavior? What information are you sending? Which IPC channel are you using? Could you also indicate which steps you followed to ease the issue?
I will try to make time to look into it more this weekend. It seemed intermittent, so I'm not sure that it wasn't something else in my code. If I can assure myself that my code's not buggy and still see the issue, I will post the code for you.