vdr crash nach Aufzeichnung löschen

  • Hallo,


    habe Ubuntu 20.04 LTS mit vdr ansible laufen. Alles auf aktuellem Stand, siehe auch Signatur.


    Ich schneide eine Aufnahme und lösche die original Aufnahme:

    Wie gehe ich der Sache auf den Grund?


    Plugins nach und nach deaktivieren? Die Liste ist nicht lang:

    Der Inhalt von /usr/share/vdr/recording-hooks/R90.custom ist Standard:


    Danke

  • Wie gehe ich der Sache auf den Grund?

    Du könntest die Pakete vdr-dbg und systemd-coredump installieren (und für die genutzten Plugins am besten auch die jeweiligen *-dbg Pakete) und dann nach einem Crash des VDR mit coredumpctl list ein Eindeutiges Merkmal für den Coredump heraussuchen (meistens reicht die PID) und mit sudo coredumpctl gdb ${PID} gdb auf den Coredump ansetzen. Dann mit einem bt bzw. bt full nachsehen, wo sich der VDR verschluckt hat.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke für die Hinweise!


    Habe ich so umgesetzt. Ebenso habe ich iHD und lib-va & tools auf den neusten Stand gebracht. Was soll ich sagen, crashed passiert nicht mehr.

    Stresstest mit 20-30 Aufnahmen schneiden, löschen, usw. alles ohne Crash.


    Beobachte es trotzdem noch etwas - bevor ich das auf gelöst setze. Vor Fehlersuche noch Sachen verändern, das macht man nicht...

    Aber das Ergebnis zählt.

  • Zu früh gefreut, eben ist es wieder passiert - Ausgabe im Anhang.

    Reicht das um die Ursache zu erkennen? Mein Wissen reicht nicht zur Fehlersuche...


    Danke

    Files

  • Löscht du die Aufnahmen über das normale Aufzeichnungsmenü des VDR (nicht dass da noch sowas wie extrecmenu mit hinein spielt)?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Löscht du die Aufnahmen über das normale Aufzeichnungsmenü des VDR (nicht dass da noch sowas wie extrecmenu mit hinein spielt)?

    Ja, in der ganz normalen Aufnahmeliste vom vdr - mit der gelben Taste.

    Extrecmenu verwende ich nicht, siehe Pluginliste #1

  • Eben ist es mal wieder passiert. Hat keiner eine Idee? bzw. kann den bt "lesen" ?

    Files

  • Kannst du genauer beschreiben, was du vor den Crash gemacht hast - also läuft da gerade ein Schnitt, eine Aufnahme usw.? War die gelöschte Aufnahme am Anfang, Mitte oder Ende der OSD-Liste?


    Der VDR scheint in den Backtraces gerade in der cListObject::Index Methode (http://git.tvdr.de/?p=vdr.git;…01db05de7d5;hb=HEAD#l2082) zu stecken - kann es da beim Zugriff auf einen zwischenzeitlich nicht mehr validen Pointer knallen? In der tools.c sehe ich nichts, das verhindert, dass mehrere Aufrufer gleichzeitig an einem cListObject herumspielen.


    Was machen denn die anderen Threads zu dem Zeitpunkt?

    Code
    1. thread apply all bt
    2. thread apply all bt full

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Könnte sein, dass dort 'prev' von einem Member der Liste auf einen ungültigen Wert zeigt, sieht nach Fehler in vdr selbst aus, oder ein Patch für Vdr verursacht das. Die Zeilennummern passen wohl nicht zum aktuellen git.

  • Kannst du genauer beschreiben, was du vor den Crash gemacht hast - also läuft da gerade ein Schnitt, eine Aufnahme usw.? War die gelöschte Aufnahme am Anfang, Mitte oder Ende der OSD-Liste?

    Also: Es läuft live TV, bin im OSD (Skin Klassik) in den Aufnahmen, es wurde eine Aufnahme geschnitten, geschnittene Aufnahme erscheint bei meiner Sortierung über der ursprünglichen Aufnahmen, drücke die gelbe Taste zum löschen der ursprünglichen Aufnahme - Crash. Das OSD wurde dabei nicht verlassen.


    Aber wie schrieben, es passiert sporadisch. Lässt sich nicht immer reproduzieren.

    Quote

    Was machen denn die anderen Threads zu dem Zeitpunkt?

    Code

    1. thread apply all bt
    2. thread apply all bt full

    Das liefe ich beim nächsten Crash nach.


    Danke für die Mühe! Überschaubare Pluginliste siehe Beitrag #1