Issue created by Sebastian Huber: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5746
`rtems_semaphore_delete()` passes a thread queue context to `_Thread_queue_Flush_critical()` without a multiprocessing callout. The flush copies the callout of the context into the proxy of a remote waiter and calls it. The context is a local object, so the proxy gets whatever the stack held. A node which deletes a global semaphore with a remote waiter jumps to that address and takes a program exception. `_Thread_queue_Resume()` leaves the callout at the value which `_Thread_MP_Allocate_proxy()` writes, and that one does nothing. `_CORE_message_queue_Dequeue_receiver()` and `_CORE_message_queue_Seize()` reach it without a callout of their own, so a task which sends a message to a global queue with a remote receiver answers no node. The receiver of the other node waits without an end. The clock driver of a BSP with `CLOCK_DRIVER_USE_FAST_IDLE` moves the time forward tick by tick while the idle thread runs. It leaves the loop only where a watchdog makes a thread ready. A node of a multiprocessing system waits for a packet of another node, which no watchdog of this node announces, so the node runs through every timeout of the wait at once. The tests search for the task of the remote node in a loop around `rtems_task_ident()`. The directive reads the local copy of the global object table, which only the MPCI receive server fills. A test task runs at priority 1, and `mp03` and `mp05` also run it without preemption. The loop calls no blocking directive, so the server never runs. `mp03` and `mp12` end while the other node still waits for a reply to a remote directive. `mp06` starts a timer of five seconds on both nodes and then demands that no event arrives within one second, which holds only where the timer of node 1 fires first. Seven of the thirteen multiprocessing tests print no end of test line on psim. Found while running the multiprocessing tests on the simulator. This description was created with Claude Code assistance. -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5746 You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/sent_notifications/5-1x2b1u6p3xcst8vnj9r41d0pm-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help
_______________________________________________ bugs mailing list [email protected] http://lists.rtems.org/mailman/listinfo/bugs
