I am trying to get working code to run in the 6472 simulator and have run into a problem with IPC. I have a program running in core0 and core 2. The both start up fine, but when core2 gets to "HeapBufMP_open("MQHeap", &heap_handle);", core0 suddenly jumps to abort().
Digging deeper into HeapBufMP, it looks like when my core2 task gets to INameServerRemote_get in line 341 of NameServer.c, core2 hangs and core0 dies. Core2 will continue to run the idle task. The exact error output I see in the core0 debug console is the following:
ti.sdo.ipc.family.c647x.Interrupt: line 237: assertion failure: A_internal: An internal error has occurred
xdc.runtime.Error.raise: terminating execution
ti.sysbios.gates.GateMutex: line 114: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details.
xdc.runtime.Error.raise: terminating execution
I looked up the GateMutex and found some people recommending System.SupportProxy = SysMin; instead of SysStd in my .cfg file. I made this change and it had no impact.
This code works in hardware, so any clues as to why NameServer would crash core0 on the simulator would be helpful.
Thanks