Hello, I am using AMP in Rtems 4.10 and using message queues to share data between nodes. I had no problems using queues until I add a task that make several rtems_message_queue_receive, after a while the node that receives from the queue crashes (using the debugger I saw it crashed in: "rtems_mpci_entry Shm_Get_packet()"). No issues when receiving messages if I set the "no wait" option: rtems_message_queue_receive(rtemsId, data, size, RTEMS_NO_WAIT, 0); But if I set a wait, for example, of 1 second: rtems_message_queue_receive(rtemsId, data, size, RTEMS_WAIT, 100); then the node that is blocked in the queue reception stop running after several calls to rtems_message_queue_receive. With a shared memory area of 0x1000 bytes rtems_message_queue_receive can be called 9 times and the next time it stops. With 0x2000 bytes: 19 calls and it crash with the following one. With 0x3000 bytes: 29 calls and then it stops. It seems that the shared memory area is filled?
I do not see any errors, program just stop running (the other node runs correctly). For local queues we have no problems. Do you have any idea why this is happening? thanks in advance Diego /* Override default SHM configuration */ shm_config_table BSP_shm_cfgtbl = { .base = (void *) 0x40000000, .length = 0x1000 }; _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users