About Chains in RTEMS

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Feb 25 15:27:08 UTC 2021


On 25/02/2021 10:47, Richi Dubey wrote:

> Hi,
>
> When I am debugging the call to _Chain_Append_unprotected (from line 
> 92 
> <https://git.rtems.org/rtems/tree/testsuites/sptests/sp02/init.c#n92> of 
> sp02, rtems_task_delete -> _Thread_Close ->...->_Thread_Cancel -> ... 
> ->_Scheduler_Unblock -> ... _Scheduler_strong_APA_Insert_ready 
> -> _Chain_Append_unprotected), I see a weird chain behavior where 
> there's some kind of cycle:
>
> (gdb) p _Chain_Tail(the_chain)
> $20 = (Chain_Node *) 0x200768 
> <_Configuration_Scheduler_strong_APA_dflt+40>
> (gdb) p _Chain_Tail(the_chain)->previous
> $21 = (Chain_Node *) 0x2014e8 <_RTEMS_tasks_Objects+2024>
> (gdb) p (_Chain_Tail(the_chain)->previous)->previous
> $22 = (Chain_Node *) 0x200fe0 <_RTEMS_tasks_Objects+736>
> (gdb) p ((_Chain_Tail(the_chain)->previous)->previous)->previous
> $23 = (Chain_Node *) 0x2014e8 <_RTEMS_tasks_Objects+2024>
> (gdb) p 
> (((_Chain_Tail(the_chain)->previous)->previous)->previous)->previous
> $24 = (Chain_Node *) 0x200fe0 <_RTEMS_tasks_Objects+736>
>
>
> sp02 is a single processor test and I am trying to run it on the 
> Strong APA SMP scheduler. Can someone please give an insight into what 
> might be causing this? The Strong APA scheduler does not affect the 
> functioning of the chain, it only uses the chain using standard 
> function headers defined in chain.h
Cycles in a chain may be caused by double insertions or extractions. I 
would enable RTEMS_DEBUG since it adds assertions for these cases.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/



More information about the devel mailing list