_Watchdog_Insert loops infinitely

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Tue Sep 13 17:12:24 UTC 2005

Given the age of your RTEMS, there are a few watchdog PRs which might be 
this.  Read each PR for details

PR807 - nesting interrupts/iSR withing task type of scenario
PR654 - timers in each tasks' TCB were not reinitialized when
         a TCB was reused.
PR430 - volatile added plus ISR disable section adjusted

PR430 was committed on 18 July 2003.

Using the wayback machine, I am betting you are hitting PR430
but the others are bad as well.


leonp at plris.com wrote:
> Hello, all.
> I run into the following very strange problem:
> Application runs for about half an hour without a problem. But then it stops 
> functioning (no communications and processing). 
> I break into it via the BDM (MPC860) and see that it loops infinitely in the 
> _Watchdog_Insert function on the file 
> .../cpukit/score/src/watchdoginsert.c in the
> for ( after = _Watchdog_First( header ) ;
>         ;
>         after = _Watchdog_Next( after ) ) {
> loop. This routine is called by  _TOD_Tickle(), which is called by 
> _Watchdog_Tickle(), which is called by rtems_clock_tick(), which is finally 
> called by Clock_isr().
> The RTEMS version is rather old - rtems-ss-20030703. Host is Linux, the tool 
> kit is that of the rtems release.
> Any help/hint will be highly appreciated.
> --
> Leon

Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985

More information about the users mailing list