Chandan U commented: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5491#note_143581 Hello @gedare @joel, ## 3rd BUG:- I compiled the testsuites for the configuration, **SMP=true** and **DEBUG=TRUE/FALSE**, **Before:** {width=283 height=322} the file which generated the bug, ts-validation-no-clock-0.c, the GDB back tracing gave, {width=900 height=460} Following the function calls , i found that , the test file `ts-validation-no-clock-0.c` is trying to self terminate the executing task, and while it does that before killing itself it calls off all the waiting tasks in its join queue and those tasks are added to the unblock chain. In threadqflush.c , the assertion came when the extracted node was being appended i.e `_Chain_Append_unprotected( &unblock, &scheduler_node->Wait.Priority.Node.Node.Chain );` So this meant the extraction was not clearing the pointers of the node. I noticed that the extraction was done through `_Priority_Extract()` , which eventually calls `_RBTree_Extract()` , This only restores the RB tree state but but doesn't clear the pointers of the node. So this was the reason for assertion of chain's prev!=null. **Proposed solution :-** Initialize the extracted node before appending to the unblock chain, ``` _Chain_Initialize_node( &scheduler_node->Wait.Priority.Node.Node.Chain ); _Chain_Append_unprotected( &unblock, &scheduler_node->Wait.Priority.Node.Node.Chain ``` **After:-** {width=367 height=441} All the bugs of the combination, SMP = TRUE and DEBUG = TRUE/FALSE is fixed. Only SMP = FALSE and DEBUG = TRUE/FALSE is left , It consists of only one bug so ill update it next. Thank you, am i going in the right direction, please guide me in this . I have updated the MR with the 3rd bug fix, https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1067 -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5491#note_143581 You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________ bugs mailing list [email protected] http://lists.rtems.org/mailman/listinfo/bugs
