Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: emergency exit but no restart



Uwe Weissbach wrote:
> 
> I had some emergency exits last time but not followed by a restart,
> the machine is running but vdr does'nt responds..
> 
> here is the log and my runvdr..
> 
> what could be wrong ???
> 
> Oct  2 23:36:27 mmbox vdr[3066]: ERROR: no useful data seen within 10486264 byte of video stream
> Oct  2 23:36:27 mmbox vdr[3066]: initiating emergency exit
> Oct  2 23:36:27 mmbox vdr[3058]: emergency exit requested - shutting down
> Oct  2 23:36:27 mmbox vdr[3058]: saved setup to /etc/vdr/setup.conf
> Oct  2 23:36:27 mmbox vdr[3058]: =====================
> Oct  2 23:36:27 mmbox vdr[3058]: EPG bugfix statistics
> Oct  2 23:36:27 mmbox vdr[3058]: =====================
> Oct  2 23:36:27 mmbox vdr[3058]: IF SOMEBODY WHO IS IN CHARGE OF THE EPG DATA FOR ONE OF THE LISTED
> Oct  2 23:36:27 mmbox vdr[3058]: CHANNELS READS THIS: PLEASE TAKE A LOOK AT THE FUNCTION cEventInfo::FixEpgBugs()
> Oct  2 23:36:27 mmbox vdr[3058]: IN VDR/eit.c TO LEARN WHAT'S WRONG WITH YOUR DATA, AND FIX IT!
> Oct  2 23:36:27 mmbox vdr[3058]: =====================
> Oct  2 23:36:27 mmbox vdr[3058]: Fix    Hits    Channels
> Oct  2 23:36:27 mmbox vdr[3058]: 2      1411    Sat.1, Pro-7, Kabel 1
> Oct  2 23:36:27 mmbox vdr[3058]: =====================
> Oct  2 23:36:27 mmbox vdr[3060]: EIT processing thread ended (pid=3060) - master
> Oct  2 23:36:27 mmbox vdr[3061]: EIT processing thread ended (pid=3061)
> Oct  2 23:36:30 mmbox vdr[3058]: buffer stats: 24816 (2%) used
> Oct  2 23:36:30 mmbox vdr[3058]: max. latency time 1 seconds
> Oct  2 23:36:30 mmbox vdr[3058]: exiting
> Oct  2 23:36:30 mmbox vdr[3058]: emergency exit!
> Oct  2 23:36:30 mmbox su: pam_unix2: session finished for user root, service su
> Oct  2 23:48:38 mmbox -- MARK --
> Oct  2 23:59:00 mmbox /USR/SBIN/CRON[3093]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
> Oct  3 00:14:00 mmbox /USR/SBIN/CRON[3119]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.daily)
> Oct  3 00:15:30 mmbox syslogd 1.4.1: restart.
> Oct  3 00:28:37 mmbox -- MARK --
> Oct  3 00:48:37 mmbox -- MARK --
> Oct  3 00:59:00 mmbox /USR/SBIN/CRON[3296]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
> Oct  3 01:28:37 mmbox -- MARK --
> Oct  3 01:48:37 mmbox -- MARK --
> Oct  3 01:59:00 mmbox /USR/SBIN/CRON[3390]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
> Oct  3 02:28:36 mmbox -- MARK --
> Oct  3 02:48:36 mmbox -- MARK --
> Oct  3 02:59:00 mmbox /USR/SBIN/CRON[3484]: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
> ... a.s.o.
> 
> *************** runvdr *************
> 
> #!/bin/sh
> 
> # runvdr: Loads the DVB driver and runs VDR
> #
> # If VDR exits abnormally, the driver will be reloaded
> # and VDR restarted.
> #
> # Set the environment variable VDRUSR to the user id you
> # want VDR to run with. If VDRUSR is not set, VDR will run
> # as 'root', which is not necessarily advisable.
> #
> # Since this script loads the DVB driver, it must be started
> # as user 'root'.
> #
> # Any command line parameters will be passed on to the
> # actual 'vdr' program.
> #
> # See the main source file 'vdr.c' for copyright information and
> # how to reach the author.
> #
> # $Id: runvdr 1.9 2002/03/16 16:22:12 kls Exp $
> 
> DVBDIR="/usr/local/src/DVB/driver"
> VDRPRG="/usr/local/bin/vdr"
> VDRCMD="$VDRPRG -w 60 -o /usr/local/bin/mount.sh -M /usr/local/bin/mplayer.sh $*"
> 
> LSMOD="`/sbin/lsmod | grep -w '^dvb' | wc -l`"
> KILL="/usr/bin/killall -q -TERM"
> 
> DVDCSS_METHOD=key
> 
> # Load driver if it hasn't been loaded already:
> if [ $LSMOD -eq 0 ] ; then
>    (cd $DVBDIR; make insmod)
>    fi
> 
> while (true) do
>       su -c "$VDRCMD" $VDRUSR
>       if test $? -eq 0; then exit; fi
>       date
>       echo "restarting VDR"
>       $KILL $VDRPRG
>       sleep 10
>       (cd $DVBDIR; make rmmod; make insmod)
>       date
>       done

The runvdr script looks ok. Are you adding any further command line options when
calling it (especially '-d')?

Please make sure none of your patches messes up with the return level of
the main program (in vdr.c). In case of an emergency exit it has to return 1.
Here's how the end of vdr.c should look:

  if (cThread::EmergencyExit()) {
     esyslog("emergency exit!");
     return 1;
     }
  return 0;

Klaus
-- 
_______________________________________________________________

Klaus Schmidinger                       Phone: +49-8635-6989-10
CadSoft Computer GmbH                   Fax:   +49-8635-6989-40
Hofmark 2                               Email:   kls@cadsoft.de
D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de
_______________________________________________________________


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index