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.hu...@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/

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to