watchdog Timer

  • Hallo,


    ich habe zur Zeit den watchdog Timer auf 10 s gestellt.
    Er "greift" ziemlich oft und wollte deswegen fragen ob die Zeit zu gering ist?
    Bedeutet die Zeit eigentlich, dass der vdr alle 10s ein Signal schicken muss,
    ansonsten wird er neu gestartet?!


    Weiters ist mir aufgefallen, dass nach einem vdr neustart von diesem timer keine
    Eingaben mehr funktionieren: lirc und svdrpsend. Lirc funktioniert jedoch noch da meine
    zusätzlichen Kommandos von irexec (lircrc) noch ausgeführt werden...


    Danke,
    lG Paul

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • So, seit längere Zeit habe ich den Timer nun auf 60 s gestellt und somit lauft der vdr sehr stabil...


    Jedoch falls der vdr durch den Watchdog neu gestartet wird, funktioniert Lirc und das Deinterlacing nicht mehr.
    Durch Neustarten des vdr's funktioniert lirc wieder und durch neustarten des Frontends funktioniert das Deinterlacing wieder.


    Ist dies jemandem schon aufgefallen?


    lG Paul

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Der VDR kann sich selber nicht restarten, in diesem Fall (Watchdog greift) beendet er sich mit dem Fehlercode 1, das Startscript (was ihn anfangs auch gestartet hat) ist dann dafür verantwortlich ihn dann wieder zu starten. Ist also anzunehmen das der Fehler irgendwo im Startscript liegt.
    Vermutlich wird in diesem fall irgendwas unnötigerweise nochmal gestartet oder irgendwas notwendiges (was sich mit dem VDR beendet) wird in diesme Fall nicht gestartet.


    Da bleibt dir also nur die das Startscript nochmal genauer anzuschauen.


    cu

  • Okay, danke für deinen Tipp.


    Als Startskript verwende ich das "runvdr" Skript.
    Ich habe mich jetzt etwas eingelesen und ich vermute, dass das Problem nicht an den Skripten liegt:


    Im Log steht bei mir, dass der watchdog timer agelaufen ist und er sich beenden will, jedoch wird vdr nicht beendet.


    Somit meine These: Aus irgendeinem Grund kann der vdr durch den watchdog nicht beendet werden!!!


    Wie kann ich weiter vorgehen?


    lG Paul

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Im Log steht bei mir, dass der watchdog timer agelaufen ist und er sich beenden will, jedoch wird vdr nicht beendet.


    Dann finde mal raus was der Grund ist, evtl. erstmal temporär die plugins deaktivieren. Wenn er beim beenden hängt das ist da extrem was faul.


    Somit meine These: Aus irgendeinem Grund kann der vdr durch den watchdog nicht beendet werden!!!


    Hat mit dem Watchdog ja nix zu tun. Der Triggert ja nur das beenden an, wenn er dann beim beenden hängenbleibt dann ist da woanderst nen Fehler. Vermutlich greift der Fehler auch bei jedem Runterfahren des Systems, da fällt dann sowas aber nicht gleich auf weil Linux den VDR dann irgendwann hart killt.




    Wobei mir auch nicht klar ist was bei dir den Watchdog so oft triggert, normalerweise wird der nur ausgelöst wenn im VDR oder in irgendeinen Plugin fehlerhafter Code zum tragen kommt und dardurch irgendwas in n er Endlosschleife hängenbleibt (oder lange laufende Prozesse nicht abgekoppelt aufgerufen werden).


    BTW: Der Watchdogtime rist auch nur ne Notvorrichtung die dafür sorgt das bei unverhergesehenden Fehler das System nicht hängenbleibt und dann folgende Aufnahmen versaut oder im Urlaub wochenlang durchläuft. Daher muss man da nicht rumoptimieren (auf < 60 s Stellen), da stellt man einfach 1-5 Minuten ein und gut ist.


    cu

  • Danke erstmal wieder...

    Dann finde mal raus was der Grund ist, evtl. erstmal temporär die plugins deaktivieren. Wenn er beim beenden hängt das ist da extrem was faul.

    Okay, werde jetzt mal ein paar Plugins deaktivieren und testen.

    Wobei mir auch nicht klar ist was bei dir den Watchdog so oft triggert, normalerweise wird der nur ausgelöst wenn im VDR oder in irgendeinen Plugin fehlerhafter Code zum tragen kommt und dardurch irgendwas in n er Endlosschleife hängenbleibt (oder lange laufende Prozesse nicht abgekoppelt aufgerufen werden).

    Da ich dem Problem auf die Schliche kommen will, habe ich testweise den Timer auf 1 s gestellt.

    BTW: Der Watchdogtime rist auch nur ne Notvorrichtung die dafür sorgt das bei unverhergesehenden Fehler das System nicht hängenbleibt und dann folgende Aufnahmen versaut oder im Urlaub wochenlang durchläuft. Daher muss man da nicht rumoptimieren (auf < 60 s Stellen), da stellt man einfach 1-5 Minuten ein und gut ist.

    Okay klar, jedoch wenn der Timer bei meinem System abgelaufen ist, wird der vdr nicht beendet... Und danach funktioniert lirc und streamdev-server nicht mehr...

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Ok, habe den vdr nun testweise einmal "nur" mit xineliboutput und einmal mit streamdev-server gestartet.
    Vdr wird trotzdem nach Ablauf des Timers nicht beendet.

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Poste mal das gesamte Log auf Loglevel 3, kann ich mir garnicht vorstellen.


    cu

  • Okay, hat wohl ein bisserl gedauert. ;)


    Nur Plugin xineliboutput aktiviert und den Timer wie gesagt zum Test auf 1 s gestellt.
    Bild läuft weiter, Tastatur, lirc ... funktioniert dannn nicht mehr.

  • Tja, seltsam. Nach der Watchdog Meldung kommt nix mehr. Da sollte eigentlich noch was kommen. Aber was mir auffiel, du lädast das "dvbsddevice" Plugin. Nimm das mal raus, evtl. beeinflussen sich zwei gleichzeitig geladene output-Plugins.


    cu

  • Tja, seltsam. Nach der Watchdog Meldung kommt nix mehr. Da sollte eigentlich noch was kommen. Aber was mir auffiel, du lädast das "dvbsddevice" Plugin. Nimm das mal raus, evtl. beeinflussen sich zwei gleichzeitig geladene output-Plugins.


    cu


    Danke, nochmals...


    Naja ich habe den gleichen Effekt auch wenn ich nur das streamdev-server Plugin lade...


    Das ist noch nachgekommen, aber ist sicher nicht interessant:


    Code
    Jul 27 19:10:42 localhost rpc.idmapd[919]: nss_getpwnam: name '4294967294' does not map into domain 'localdomain'
    Jul 27 19:20:04 localhost -- MARK --
    Jul 27 19:40:04 localhost -- MARK --

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Das ist ja nun wirklich seltsam.


    Ich würde jetzt die Systemlimits so setzen das der VDR nen Coredump schreiben kann und dann mal den VDR mit kill beenden. Evtl. siehst du ja am backtrace wo er hängenbleibt?


    Edit: Evtl. gibts hier ja auch irgendwie ne Watchdog Schleife (Zeit zu kurz), fährt der eigentlich ganz normal runter wenn du im Setup Neustart wählst?


    cu


  • Wow...


    Ich habe nun in der vdr.c (1.7.19) die Zeile 164 wie folgt verändert:


    von:

    Code
    exit(1);


    zu:

    Code
    ShutdownHandler.Exit(1);



    Jetzt funktioniert das Beenden wie gewünscht. Nach der Meldung vom Timer beendet er alle Plugins ..., und startet neu...


    Soll ich das melden?!


    lG

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Hm, wenn ich den Code so anschaue dann ist es anscheinend doch nicht geplant das beim Watchdog Restart noch was im Log kommen sollte. Deine Änderung führt hier nur ein das dann doch noch Aufräumarbeiten kommen.


    Aber wenn du sagst das Video läuft weiter... Also ist der VDR Process wohl noch da. Sicher das der VDR nur einmal gestartet wird?


    cu

  • Ja, der Process vdr läuft nur einmal...


    Ohne Codeveränderung läuft vdr und das Bild einfach weiter, mit der aktuellen kleinen Änderung ist Bild weg und nach ca. 10 s wieder da. Im Log sieht man auch die von dir erwähnten Aufräumarbeiten und den Startvorgang...


    Noch ein Auszug aus shutdown.h:


    Code
    void Exit(int ExitCode) { exitCode = ExitCode; }
       	///< Set VDR exit code and initiate end of VDR main loop.
       	///< This will exit VDR without any confirmation.

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Problem besteht noch immer!


    Kann vielleicht jemand von euch mal mit der Einstellung "watchdog timer = 1s" testen, ob das Bild einfach weiterläuft oder doch der vdr neu gestartet wird?
    Ansonsten liegt das Problem wirklich an meinem System...

    Hardware:
    Server + Client:

    Zotac ION ITX F
    Antec ISK 300-65
    Tevii S660
    Terratec Cinergy T Stick RC
    Pollin X10
    Trust Thinity Wireless Entertainment Keyboard


    Software:
    archlinux = aktuelle stabile Versionen

  • Witzigerweise konnte ich das bei mir neulich auch nachvollziehen. Ich dachte bissher immer er stürzt manchmal so ab das der Watchdog nicht triggert (halt das nur die Eingabe in ner Endlosschleife hängt, weil das Bild über das softdevice Plugin läuft weiter), aber bei meinem 1.6er ist das genauso, Watchdog schlägt zu und nix passiert (Bild läuft weiter, aber man kann nix mehr machen).


    Ich habe auch mal versuch den Code nachzuvollziehen, aber ich kanns mir auch nicht erklären. DeineCodeänderung funktioniert, aber irgendwie shcient er mit zu unsicher hier mit Code zu beenden bei dem noch soviel schief laufen kann. Meine beste Idee wäre nen shellaufruf von "killall -9 vdr", abe rirgendwie tut sowas auch weh.


    cu

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!