vdr schmiert unregelmäßig ab [Ursache: vdr-plugin-avards]

  • Hi,


    vor ein paar Wochen habe ich meine VDR softwaretechnisch per distupgrdade auf den neuesten Stand gebracht. Prinzipiell ist alles glatt gelaufen und der VDR läuft.


    Zur Zeit läuft mein VDR 24h am Tag, da der SATA-Controler manchmal beim Booten hängen bleibt.


    Nun tritt etwa alle ein bis zwei tage das Problem auf, dass sich der VDR-Prozess verabschiedet und nicht mehr erfolgreich wiederbelebt werden kann.


    Zum Glück habe ich vor dem Update eine Sicherung auf eine andere Partition gemacht. Benutze ich diese, läuft der VDR Tage lang ohne Probleme.


    Anbei die entsprechenden ctvdrinfo-Ausgaben der beiden Systeme und ein Auszug aus der syslog-Datei von solch einem "Aufhänger".


    Ich hoffe, dass mir jemand helfen kann. Bei der Suche nach ähnlichen Problemen habe ich nix gefunden :(


    cu
    fossy

  • oom_kills sind out-of-memory-kills - der box geht der speicher aus.


    wie viel ram hast denn da drinnen? aktivierten swap, wenn ja wie viel?


    >>>cyber

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • hi,


    aha, also Arbeitsspeicher sind 1 GB drin und die SWAP-Partition hat etwa 2GB.


    ... ich bin mir aber nicht ganz sicher, ob der SWAP richtig konfiguriert ist, da beim DistUpgrade nur 512 MB als Swap da waren und es irgendwo eine Meldung bzgl. SWAP gab, deren Sinn sich mir nicht so ganz erschlossen hat. Irgendwas konnte nicht richtig eingestellt werden, weil die SWAP-Partition zu klein wäre oder so. Deshalb hab ich nachträglich die SWAP-Partition vergrößert.


    In der oom_trace-Datei steht was von
    Free swap = 2078004kB


    Gibt das den Moment des "Überlauf" oder was auch immer das ist wieder?


    Danke für Deine Hilfe.

    cu
    fossy
    -----------------------------------------------------------------
    VDR1: pentium m, aopen i855gmem-lfs / hauppauge nexus 2.2, technisat skystar2 / (im silverstone lascala lc11m-s) / debian lenny / e-tobi --> vdr 1.6.0 / kernel 2.6.28-etobi.3-686
    VDR2: D945GSEJT mit 2GB RAM + ... (budget) / debian lenny / e-tobi --> vdr 1.6.0 /

    -----------------------------------------------------------------
    meine klitzekleine homepage :arme hier

  • hi,


    ... sieht eigentlich alles gut aus denke ich.

    Files

    cu
    fossy
    -----------------------------------------------------------------
    VDR1: pentium m, aopen i855gmem-lfs / hauppauge nexus 2.2, technisat skystar2 / (im silverstone lascala lc11m-s) / debian lenny / e-tobi --> vdr 1.6.0 / kernel 2.6.28-etobi.3-686
    VDR2: D945GSEJT mit 2GB RAM + ... (budget) / debian lenny / e-tobi --> vdr 1.6.0 /

    -----------------------------------------------------------------
    meine klitzekleine homepage :arme hier

  • Noad hatte bei mir mal so ähnliche Probleme ausgelöst, der Fehler ist bis jetzt noch immer nicht 100% gefunden/beseitigt.
    Zum Test einfach mal noad deaktivieren.


    Dann währe es hilfreich mal alle paar Minuten die Grösse der grössten Prozesse zu loggen, da müsste man den Übeltäter (Pugin-Prozess) eindeutig identifizieren können.
    Das müsste sich recht schnell als Shellscript basteln lassen.
    Parat hab ich das aber nicht, vielleicht jemand anders?

    Gruss
    SHF


  • hi,


    ... hab gestern abend ein kleines Skript gebastelt (und heut morgen erweitert), was ich per cron alle halbe Stunde aufrufe.


    Der Speicher scheint tatsächlich voll zu laufen. Aber womit?


    ... siehe Anhänge

  • hi,


    ... hab ich gemacht. Zeigt aber auch keine anderen Ergebnisse. Jetzt sind nur noch 16MB des Arbeitsspeichers frei. Aber ich sehe keine Prozess/Prozesse, die diesen Speicher belegen könnten.


    Gibt es evtl. ein Programm, dass Speicher belegt und nicht wieder frei gibt? Aber wie kriegt man raus welches, wenn top und ps nicht anzeigen, welche Prozesse den Speicher belegen?

    cu
    fossy
    -----------------------------------------------------------------
    VDR1: pentium m, aopen i855gmem-lfs / hauppauge nexus 2.2, technisat skystar2 / (im silverstone lascala lc11m-s) / debian lenny / e-tobi --> vdr 1.6.0 / kernel 2.6.28-etobi.3-686
    VDR2: D945GSEJT mit 2GB RAM + ... (budget) / debian lenny / e-tobi --> vdr 1.6.0 /

    -----------------------------------------------------------------
    meine klitzekleine homepage :arme hier

  • hi,


    ... heute nacht ist mein vdr wieder abgeschmiert.
    und zwar um 1:24 Uhr.


    1:20 Uhr
    16MB FreeMem
    245MB VDR-Prozess


    1:25 Uhr
    63MB FreeMem
    kein VDR-Prozess mehr...


    Hat vielleicht noch jemand einen Tip, wie ich relativ einfach eingrenzen kann, "wer" schuld an dem "speicherüberlauf" (oder wie heißt das?) ist?

    cu
    fossy
    -----------------------------------------------------------------
    VDR1: pentium m, aopen i855gmem-lfs / hauppauge nexus 2.2, technisat skystar2 / (im silverstone lascala lc11m-s) / debian lenny / e-tobi --> vdr 1.6.0 / kernel 2.6.28-etobi.3-686
    VDR2: D945GSEJT mit 2GB RAM + ... (budget) / debian lenny / e-tobi --> vdr 1.6.0 /

    -----------------------------------------------------------------
    meine klitzekleine homepage :arme hier

  • Kann natürlich sein, dass der Prozess, der das Killen auslöst noch gar nicht so gross ist und man ihn deshalb nicht sieht.


    Kannst du aus den Logs was sehen?
    Ist Noad zu der Zeit gelaufen?

    Gruss
    SHF


  • hi,


    ... also ich habe bzgl. noad mal nachgesehen: um 23:20 wurde er zum letzten mal vor dem oom_killer gestartet. Im log steht was, dass er für noad kein pidfile anlegen konnte (no such file or directroy). Sonst funzt noad aber eigentlich.


    Die log-files lassen nix erkennen. Wie gesagt, der größte Prozess ist der vdr mit etwa 250MB und dann kommt named mit etwa 40MB. vier minuten vor dem oom_killer waren noch etwa 16MB FreeMem.


    Wieso wird eigentlich der oom_killer angeworfen, wenn noch jede menge swap-space frei ist?


    Kann man den irgendwie konfigurieren?

    cu
    fossy
    -----------------------------------------------------------------
    VDR1: pentium m, aopen i855gmem-lfs / hauppauge nexus 2.2, technisat skystar2 / (im silverstone lascala lc11m-s) / debian lenny / e-tobi --> vdr 1.6.0 / kernel 2.6.28-etobi.3-686
    VDR2: D945GSEJT mit 2GB RAM + ... (budget) / debian lenny / e-tobi --> vdr 1.6.0 /

    -----------------------------------------------------------------
    meine klitzekleine homepage :arme hier

  • Quote

    Original von fossy
    ... also ich habe bzgl. noad mal nachgesehen: um 23:20 wurde er zum letzten mal vor dem oom_killer gestartet. Im log steht was, dass er für noad kein pidfile anlegen konnte (no such file or directroy). Sonst funzt noad aber eigentlich.

    Wurde noad auch korrekt beendet?
    Da müsste eigentlich ein "noad done" kommen.


    Quote

    Die log-files lassen nix erkennen. Wie gesagt, der größte Prozess ist der vdr mit etwa 250MB und dann kommt named mit etwa 40MB. vier minuten vor dem oom_killer waren noch etwa 16MB FreeMem.

    Ich bin inzwischen nicht mehr sicher ob FreeMem überhaupt aussagekräftig ist.
    Wenn der Rechner ins Swap auslagert dürfte FreeMem immer sehr klein sein, was aber kein Problem ist.


    Quote

    Wieso wird eigentlich der oom_killer angeworfen, wenn noch jede menge swap-space frei ist?

    Der OOM-Killer erkennt wohl irgendwie verdächtige Prozesse, bevor sie das System lahm legen.
    Wie er genau arbeitet kann ich aber nicht sagen, damit habe ich mich noch nicht beschäftigt.

    Gruss
    SHF


  • Hi,


    anbei die logs vom letzten absturz. noad habe ich per dpkg-reconfiugre deaktiviert (irgendwie war aber komischerweise noad trotzdem danach noch bei aufnahmen im spiel - ich werd es weiter beobachten).


    Gibt es noch andere Möglichkeiten, das Problem besser einzugrenzen? Kann jemand an den Log-Files mögliche Probleme erkennen?

  • Die Pid 11269 vom ersten kill

    Code
    Aug 31 23:20:30 vdr kernel: [206652.584090] vdr invoked oom-killer: gfp_mask=0x200d4, order=0, oomkilladj=0
    Aug 31 23:20:30 vdr kernel: [206652.584418] Pid: 11269, comm: vdr Not tainted 2.6.28-etobi.3-686 #1

    scheint zum Avads-Plugin zu gehören.

    Code
    Aug 31 23:11:09 vdr vdr: [11269] avards: switching WSS to 16:9

    Gruss
    SHF


  • hi,


    hab gestern avards deinstalliert. seit dem scheint der speicher nicht mehr so schnell voll zu laufen. es sieht so aus, als ob das plugin wirklich die ursache für das einspringen des oom_killer ist. ich werde dann wieder berichten, ob der vdr durchgelaufen ist - noch ist es etwas früh...

    cu
    fossy
    -----------------------------------------------------------------
    VDR1: pentium m, aopen i855gmem-lfs / hauppauge nexus 2.2, technisat skystar2 / (im silverstone lascala lc11m-s) / debian lenny / e-tobi --> vdr 1.6.0 / kernel 2.6.28-etobi.3-686
    VDR2: D945GSEJT mit 2GB RAM + ... (budget) / debian lenny / e-tobi --> vdr 1.6.0 /

    -----------------------------------------------------------------
    meine klitzekleine homepage :arme hier

  • hi,


    so, es sind nun ein paar Tage ins Land gegangen und ich wollte wieder berichten...


    Seit dem das Avards-Plugin deinstalliert ist, wird der VDR nicht mehr gekillt!


    Heißt das jetzt, dass in dem Plugin ein Fehler ist, der das wieder freigeben von Speicher verhinder?? Oder kann es sein, dass das Plugin sich mit einem andern behakt??? Warum hat das noch kein anderer gehabt???

    cu
    fossy
    -----------------------------------------------------------------
    VDR1: pentium m, aopen i855gmem-lfs / hauppauge nexus 2.2, technisat skystar2 / (im silverstone lascala lc11m-s) / debian lenny / e-tobi --> vdr 1.6.0 / kernel 2.6.28-etobi.3-686
    VDR2: D945GSEJT mit 2GB RAM + ... (budget) / debian lenny / e-tobi --> vdr 1.6.0 /

    -----------------------------------------------------------------
    meine klitzekleine homepage :arme hier

  • Ich habe das gleiche Problem seit einiger Zeit, aber auch keine Lösung gefunden. Auf den ersten Blick macht avards nichts falsch. Das Problem könnte auch mit irgendeiner Revision der Kerneltreiber reingekommen sein, weil die ioctls sehr oft aufgerufen werden und das wahrscheinlich nie in einem anderen Umfeld getestet wurde.
    Wenn ich viel Zeit habe, versuch ich mal den vdr mit valgrind zu starten.

    vdr-2.7.3

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, web, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

  • Aha, da stehe ich nun vielleicht doch nicht mehr alleine da...


    Ich hatte schon vor längerer Zeit die Probleme mit avards, jedoch nur wenn die Umschaltung aktiviert war. Allerdings kam es bei mir dann gleich zu einem Kernel-oops.


    [ANNOUNCE] Avards-Plugin 0.1.5


    Auch mit der aktuellen Version 2.2 schmiert der VDR dann bei mir ab, allerdings schon viel früher wie bei Euch da ich nur 256 MB RAM drin habe und das System in einer Ramdisk auch noch 48 MB belegt.


    Die Probleme habe ich auch noch mit der aktuellen HG-Treibern und Kernel 2.6.31-RC8.
    An der Kernel-Konfiguration, habe ich schon einges ausprobiert, bin der Sache aber nicht näher gekommen.


    Die Logs beim Crash sehen so aus:



    Nach 10-30 Minuten kommt es dann zum Crash :(


    Groß debuggen kann ich leider mit dem System nicht, da es nur die minimal-Sachen an Bord hat...


    Vielleicht kommt ja doch etwas Bewegung in die Sache...

    Gentoo Linux ~ VDR 2.6.9 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!