[vdr] PANIC: watchdog timer expired - exiting

Petri Hintukainen phintuka at users.sourceforge.net
Sat Jun 9 21:40:45 CEST 2007


On Sat, 2007-06-09 at 12:28 +0200, Udo Richter wrote:
> And, from the original post:
> > May 31 20:23:38 localhost vdr: [3413] System Time = Thu May 31 20:23:38 2007 (1180632218)
> > May 31 20:23:38 localhost vdr: [3413] Local Time = Thu May 31 20:19:37 2007 (1180631977)
> > May 31 20:21:01 localhost vdr: [3405] PANIC: watchdog timer expired - exiting!

Turning clock is always very bad and dangerous thing to do. It can cause
lot of other problems too, just to mention incomplete builds, duplicate
cron jobs, destroyed logs and files, incomplete backups ...

> The clock was set to 20:19:37, and the watchdog fires at 20:21:01 - 84 
> seconds later. There must be something different causing the watchdog to 
> expire.

It might be even some plugin. All timeouts (cTimeMs, cCondVar,
cCondWait) use current wall clock time to set the timeout. 
Example:
  cCondWait c;
  c.Wait(100);

If clock is turned 2 minutes back in middle of this, the code will wait
120100 ms instead of 100ms ... Might cause some quite weird problems.
I belive there's no way to change pthread_..._timedwait functions, but
cTimeMs can be changed to use monotonic timers instead of gettimeofday
(patch attached).


- Petri

-------------- next part --------------
A non-text attachment was scrubbed...
Name: vdr-1.4.5-monotonic-cTimeMs.patch
Type: text/x-patch
Size: 1533 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20070609/4d0fafcf/attachment.bin 


More information about the vdr mailing list