Problems using Global message queues to share data between nodes

Diego Mercado diego.mercs at gmail.com
Mon Dec 10 12:28:28 UTC 2018


more information: using the debugger, we can see that the program
crashes in  "rtems_mpci_entry Shm_Get_packet()"

thanks


El jue., 6 de dic. de 2018 a la(s) 17:20, Diego Mercado
(diego.mercs at gmail.com) escribió:
>
> Hello,
> we are using Rtems 4.10 (RCC-1.2.16. RTEMS-4.10, GCC 4.4.6), compiling for two processor nodes and sharing data using global message queues.
> We have no issues when receiving messages if we set the "no wait" option: rtems_message_queue_receive(rtemsId, data, size, RTEMS_NO_WAIT, 0);
>
> But if we 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 crashes (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 crashes. With 0x2000 bytes: 19 calls and it crash with the following one. With 0x3000 bytes: 29 calls and then it crashes.
>
> We 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?
> Are we missing some configuration for multiprocessing?
>
> thanks in advance
> Diego
>
> /* Override default SHM configuration */
> shm_config_table BSP_shm_cfgtbl =
> { .base = (void *) 0x40000000, .length = 0x1000 };
>
>
>
>
>
>
>
>
>
>
>
>
>
> Diego Mercado
> diego.mercs at gmail.com
> +54 294  (15)4507222
> +54 9 294 450 7222
> San Carlos de Bariloche
> Rio Negro
> Patagonia Argentina


More information about the users mailing list