Problems related to TOD_set and new problem with _Watchdog_Tickle (system hang).
Fabrizio Pirovano
rtems.thysys at tiscalinet.it
Mon Sep 23 07:36:19 UTC 2002
Thanks to Chris & Joel Sherril for the _TOD problem solution .
Now, in this side, all works fine.
Unfortunally we verify another problem:
In particular system stress condition (a lot of traffic on Ethernet interface, a lot of qspi interrupts etc.... in our motorola 5272 target)
all the rtems services related to system timer randomly hangs !
We found that, in function _Watchdog_Tickle (file watchdogtickle.c),
the variable the_watchdog->delta_interval is decremented without any control.
We verified that the system hangs because this variable is decremented when is zero, and obviously,
after decrementing it , the new value is the biggest long value.
For the particular rtems sw structure, all the elements list following this, will be checked
only after the timer corrupted will be expired causing system hang (with the exception of the rtems service not related with timers
that continue to work fine).
We was not be able to find the cause of this problem but we verified that if we modified the code in
_Watchdog_Tickle as
if (the_watchdog->delta_interval)
the_watchdog->delta_interval--;
all works fine.
We suppose that the problem is related to interrupt concurrence: one interrupt nested in tick interrupt routine that break the code of
watchdogtickle.
We think that the problem is critical and the patch poposed is not a good solution.
Can anyone confirm similar critical problem?
Thanks in advance
Fabrizio Pirovano
THYSYS s.r.l.
Milan Italy
pirovano.thysys at tiscalinet.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20020923/381dcdee/attachment.html>
More information about the users
mailing list