Symbian
Symbian OS Library

FAQ-0637 What is "Kernel FAULT: 0 Watch Dog"?

[Index][spacer] [Previous] [Next]



 

Classification: C++ Category: Debugging
Created: 03/29/99 Modified: 12/27/2001
Number: FAQ-0637
Platform: ER5

Question:
My machine has done a 3-beep reset and the Ctrl-Fn-R reset information says "Kernel FAULT: 0 Watch Dog" . What does
this mean?


Answer:
The "Watch Dog" fault is raised when the machine stops servicing tick interrupts for long enough that the watchdog timer expires. This is assumed to be a very bad thing indeed and on some hardware such as the Series 5 the machine has to reset to get back into a sensible state.

On the Series 5, tick interrupts happen 64 times per second, so the Watch Dog fault means that tick interrupts have been blocked for at least 15 milliseconds. Bugs that can cause this include:
    1. An interrupt service routine that runs for too long
    2. An interrupt service routine which fails to clear the interrupt before exiting (so it gets called again immediately)
    3. A faulty device causing a continuous stream of interrupts
    All of these bugs are very serious and will prevent Symbian OS from working, so on some hardware an automatic reset is the best chance of getting the software back into a workable state. Note that on other hardware different methods to reset the watchdog may be used, and the watchdog will almost certainly have a different timeout to that of the Series 5.

    The watch dog interrupt is disabled in MARM DEBUG builds because kernel tracing will make some interrupt routines delay while a trace message is printed via the serial port.