Abstürze durch noad

  • Hallo,


    ich hatte am Sonntag beim Fernsehen das Problem, dass der VDR auf einmal nicht mehr auf die Fernbedienung reagieren wollte und die Festplatte die ganze Zeit arbeitete.

    Top zeigte an, dass ein noad-Prozess auf über 150Mb angewachsen war, blieb dann aber stehen. Da der Rechner auch nicht mehr auf Tastatur eingaben reagierte, war ich schon am überlegen, ob ich ihn ausschalte. Als plötzlich die Festplatte zu rattern aufhörte und auch der VDR wieder funktionierte.


    Etwas später habe ich dann festgestellt, dass der Rechner nicht über das Netzwerk erreichbar war, VDR lief aber noch immer einwandfrei.


    Ein Blick in die Logfile brachte folgendes zu Tage:
    (/var/log/messages (gekürzt))



    Daraufhin hab ich die Logs des letzten halben Jahres nach "kernel: VM: killing process" durchsucht und bin öfters fündig gewordern. Das Problem dürfte bei mir für fast alle Abstürze verantwortlich sein!


    Die Gemeinsamkeiten:
    - VM killt Prozesse bis enweder noad erwischt wird oder der Watchdog-Timer den Rechner neu startet.
    - Meistens (nicht immer) wurde die Aufnahme, an der noad arbeitet gelöscht.


    Ich konnte den Absturz inzwischen auch reproduzieren. Es klappt nicht bei jedem Versuch, die Chancen stehen aber nicht schlecht.


    Auch andere scheinen davon betroffen zu sein:
    Hilfe! 100% CPU-Last durch VDR
    Löschen von 8 Aufnahmen kurz nacheinander führt zum Absturz
    [ANNOUNCE] noad-0.5.2


    Nur eine Lösung konnte ich bislang noch nicht finden.


    Ich glaube das Finden des Speicherloch in noad dürfte mich etwas überfordern. Ich will es daher erstmal mit einem Skript versuchen, was noad bei überschreiten einer gewissen Grösse killt (es scheint das es einige minuten dauert, bis noad eine kritische grösse erreicht hat, sollte daher machbar sein).


    Hat jemand zufallig soetwas schon umgesetzt oder eine Idee wie das am unkompliziertesten (mit überschaubaren sed und cut aufrufen ;)) geht?


    Oder gibt es eine elegantere Möglichkeit?
    Kann man die Killreinfolge des Kernels beeinflussen?


    Vielen Dank im voraus.

    Gruss
    SHF


  • Mir ist das auch schon mal aufgefallen. Die wohl eleganteste Methode, dem Speicherhunger von noad Einhalt zu gebieten, dürfte ulimit sein. Damit kann man den maximal verfügbaren Speicher einschränken. (siehe bash-manual)


    Ich wollte schon immer mal damit experimentieren, bin aber bisher nicht dazu gekommen.


    Gruß,


    Udo

  • Ich kann mich auch erinnern diesen fehler schon mal gesehen zu haben.
    Damals aber ohne swap partition.
    Ich hab im moment 512MB drin und noch mal so viel swap.
    Ein zweites system mit 256MB RAM und swap funktioniert auch einwandfrei.
    Das problem wird aber heftiger mit XXV und mysql im hintergrund.
    Das war einer der gründe wieder auf vdradmin zurückzugehen.


    gruss Peter

    Mein anderer VDR ist (auch) ein EPIA
    1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
    2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...
    . . .TB rulez. . .

  • @ Urig:
    Danke, das mit ulimit klingt echt gut. Ich habe ein kleines Skript gebastelt, Test läuft gerade.


    @ PeterD:
    Je weniger RAM-Speicher frei ist desto problematischer scheit es zu sein.

    Gruss
    SHF


  • Ok das könnte erklären, warum ich in den letzten Tagen Probleme hatte (exact nach einer (mehreren?) Aufnahmen war nichts mehr im log und ssh/dhcp/dns ging nicht mehr. Wenn es geklappt hat wäre ich sehr interessiert wie deine Tests verlaufen sind und was du exact gemacht hast :)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Zwischenbericht:


    Im Anhang ist mein Skript, es muss einfach anstelle von noad gestartet werden. ("NOAD_DIR" anpassen!)
    Noad wird dann von dem Skript gestartet wobei der von noad belegbare Virtuelle-Speicher auf 20000Kb begrenzt wird.
    (Ich bin nicht 100% sicher, ob ich das Richtige beschränkt habe. Es scheint aber zu klappen, wenn ich auf 10000Kb begrenze wird noad sofort gekillt.)


    Bei mir läuft noad wie immer, aber einen Absturz habe ich trotz öfteren probierens nicht mehr hinbekommen. Bei Gelegenheit werde ich dann noch die Logs auswerten, dann weiss ich sicher ob das Skript zugeschlagen hat.

    Dateien

    Gruss
    SHF


    Einmal editiert, zuletzt von SHF ()

  • Seit dem ich das Skript verwende hatte ich keinen Komplettabsturz meines VDR mehr.


    Wie es aussieht scheint das Skript zu funktionieren. Beim Auswerten der Logfiles bin ich eben auf das Folgende gestossen:


    Anmerkung: Die Aufnahme war miserabel, mehrere Aussetzer und Sprünge (zum Glück wars nichts Wichtiges :whatever). Es hat zu der Zeit gerade ordentlich geregnet und gewittert.

    Gruss
    SHF


Jetzt mitmachen!

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