My customer, Life fitness uses using MQX-4.0 and Linux is 3.0.15 plus patches for specific HW. They use a SOM from Emcraft.
The issue we are seeing is with MCC. We have multiple MCC endpoints on the M4 core (running MQX) communicating with corresponding endpoints on the A5 (running Linux). The endpoints on the M4 are located in separate tasks. We notice that after heavy traffic, our M4 MQX application appears to become deadlocked, as tasks are not running anymore. When this happens, I observe that two tasks are stuck in mcc_recv_copy() waiting for a mutex. The M4 never recovers from this. See below for a screen shot of the stack trace, which is the same in two separate tasks.
I have some more info regarding this issue. Emcraft has modified a simple MQX test application (attached) running on the M4, which creates 5 tasks using 5 endpoints to send and receive data over mcc. We have our standard mcc_proxy application (simple app which translates mcc data into TCP data) running under Linux on the A5 side. This simple test app hangs in the same way our application does. I see two of the tasks blocked on mcc_get_semaphore.
I have also asked if it possible to re-produce this on the tower system and the customer is working on that.
Hi Eric,
Recently, I have solved similar situation with another Vybrid customer using the MCC 1.2. Maybe, the solution is the same. Please, share the test code if you can to try it on my side first. Thanks.
BTW, we are going to release the MCC 2.1 version soon, so if there is a new unknow bug we would try to fix it before the MQX 4.2.0 release (Apr-27).
Michal Princ
Hi Eric,
It would be nice if you can share the application so wen can take a look at it and test it.
Please keep us informed as soon as you get the application that reproduces the issue on the towr system.
/Alejandro
Hi Eric,
Have you tried what Michal suggests?
/Alejandro