VDR auf RPI3 mit Raspbian stürzt ab. Wie Fehler suchen?

  • Hallo liebe Leute. Seit kurzem stürzt mein VDR ohne Meldung im Log einfach ab und startet neu:

    Code
    Nov 20 12:50:05 raspiwz vdr: [softhddev] empty video packet 115 bytes
    Nov 20 12:55:09 raspiwz vdr: [softhddev] empty video packet 123 bytes
    Nov 20 12:58:32 raspiwz vdr: [5694] epg data writer thread started (pid=5589, tid=5694, prio=low)
    Nov 20 12:58:32 raspiwz rsyslogd-2007: action 'action 17' suspended, next retry is Sun Nov 20 12:59:32 2016 [try http://www.rsyslog.com/e/2007 ]
    Nov 20 12:58:33 raspiwz vdr: [5694] epg data writer thread ended (pid=5589, tid=5694)
    Nov 20 12:59:03 raspiwz vdr: [5701] VDR version 2.2.0 started


    Plugins:

    Code
    Nov 20 12:13:53 raspiwz vdr: [5042] loading plugin: /usr/local/lib/vdr/libvdr-softhddevice.so.2.2.0
    Nov 20 12:13:53 raspiwz vdr: [5042] loading plugin: /usr/local/lib/vdr/libvdr-skinenigmang.so.2.2.0
    Nov 20 12:13:53 raspiwz vdr: [5042] loading plugin: /usr/local/lib/vdr/libvdr-extrecmenu.so.2.2.0
    Nov 20 12:13:53 raspiwz vdr: [5042] loading plugin: /usr/local/lib/vdr/libvdr-epgsearch.so.2.2.0
    Nov 20 12:13:53 raspiwz vdr: [5042] loading plugin: /usr/local/lib/vdr/libvdr-live.so.2.2.0


    Wie kann ich am besten vorgehen um den Fehler zu finden??


    Code
    uname -a
    Linux raspiwz 4.4.32-v7+ #926 SMP Fri Nov 18 13:40:49 GMT 2016 armv7l GNU/Linux

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Das dürfte die softhddevice-Version mit mmal-Unterstützung von zille sein, oder? Hast du da schon den aktuellsten Git-Stand davon gebaut (idealerweise genau wie den VDR mit Debug-Symbolen) und alle Firmware-Updates für den Raspberry eingespielt?


    Dann kannst du dir gdb installieren, den VDR damit starten und nachsehen, wo es kracht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hey Danke für die schnelle Antwort. Das SHD ist die letzte Version aus dem Git. Den RPI und habe ich mit apt-get update und apt-get dist-upgrade sowie rpi-update auf den neuesten Stand gebracht. Ich schaue mal wie ich das SHD geschwätziger machen kann. Hat du vielleicht eine kurze Anleitung was ich machen muß um den VDR zu debuggen?

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Wenn man den VDR auf die ARGSDIR-Konfiguration umgestellt hat, ist das einfach, da man dann den Rattenschwanz an Start-Argumenten nicht mehr benötigt (sonst muss man mit gbd --args vdr -Psofthddevice ... arbeiten):

    Code
    ulimit -c
    gdb -ex=run vdr


    Wenn es dann gekracht hat, kann man sich mit "bt full" anzeigen lassen, was der VDR zuletzt vor dem Crash gemacht hat - dann hat man schon mal eine ungefähre Idee, an welcher Stelle es hängen könnte.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • OK. Ich habe jetzt mal mit gdb gestartet.

    Code
    gdb -ex=run --args vdr -P "softhddevice -a iec958:AES0=0x4,CARD=0 -p iec958:AES0=0x6,CARD=0 -v mmal -w use-possible-defect-frames" -P skinenigmang -P extrecmenu -P epgsearch


    Nun bekomme ich öfter mal abstürze beim Umschalten:


    Komisch ist nur das es eigentlich ohne GDB nie zu abstürzen beim Umschalten kommt sondern eigentlich wenn man nix tut und einfach einen Film schaut und keine Taste anfässt. Auch nicht so häufig.
    Leider kann ich rpihddevice wegen Audio Drops nicht nutzen.

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Jetzt ist er mitten im Betrieb abgestürzt:


    Kann ich also davon ausgehen das es am SHD liegt??

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Das wäre eine Arbeitshypothese - welches Signal kommt denn beim Crash vom VDR? Ist das ein Segfault (SIGSEV) oder etwas anderes?


    Eventuell wird das durch höhere Last bzw. steigende Latenzen begünstigt, wenn das mit gdb schneller auftritt - hast du mal über mehrere Crashes hinweg geschaut, ob es da Auffälligkeiten (I/O beim schreiben der epg.data, CPU-Last beim Suchtimerupdate durch epgsearch usw.) zeitnah vor dem Crash gab?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Im Moment des Absturzes schalte ich den Sender um:

    Code
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7167e450 (LWP 1793)]
    MmalDisplayFrame () at video.c:10265
    10265           frame = (AVFrame *)buffer->user_data;


    CPU Last mit Htop unter 5% bei allen Kernen.
    Kein EPG schreiben aktiv.

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Hallo Asta,


    der Pointer buffer ist NULL. Es sind keine decodierten bzw. deinterlaceten Bilder in der Queue. (Das sollte ich eigentlich abfangen!) Wie ist die Empfangssituation? Passiert das bei Aufnahmen oder und live? Kommt es vor dem Absturz zu Bildrucklern?


    Gruss zille


    Edit: Bitte teste mal die neue git Version und schau ob die verlorenen Frames hochzählen.
    Edit2: Welche FFmpeg Version benutzt Du?

  • Hallo Zille. Der Absturz kommt unregelmäßig. Entweder beim umschalten oder im laufendem Programm. Cpu Last normal. Kein Wechsel von Sendung zur Werbung oder umgekehrt. Kein Format- oder Audio wechsel.

    Code
    ffmpeg version N-81723-g6d9a46e Copyright (c) 2000-2016 the FFmpeg developers
      built with gcc 4.9.2 (Raspbian 4.9.2-10)
      configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --docdir=/usr/share/doc/ffmpeg-9999/html --mandir=/usr/share/man --enable-shared --enable-omx-rpi --enable-mmal
      libavutil      55. 30.100 / 55. 30.100
      libavcodec     57. 57.101 / 57. 57.101
      libavformat    57. 50.100 / 57. 50.100
      libavdevice    57.  0.102 / 57.  0.102
      libavfilter     6. 62.100 /  6. 62.100
      libswscale      4.  1.100 /  4.  1.100
      libswresample   2.  1.100 /  2.  1.100

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

    Einmal editiert, zuletzt von Asta ()

  • Hallo Asta,


    ffmpeg kann wohl ausgeschlossen werden. Das aktuelle git habe ich eben getestet. Dabei habe ich festgestellt das ffmpeg-3.2 meinen Patch enthält und gut funktioniert. Kommen wir zurück zum Problem. Der buffer Pointer ist NULL. Wie ist die Empfangssituation? Können Aufnahmen abgespielt werden die auf anderer VDR Hardware funktioniert? Werden mit meinem aktuellem git Stand verlorene Frames hochzählt?


    Ich habe hier noch ein 4.1er Kernel mit älterer Firmware. Das werde ich in den nächsten Tagen mal auf neuesten Stand bringen und testen.


    Gruss zille

  • Hallo Zille.

    Zitat

    Können Aufnahmen abgespielt werden die auf anderer VDR Hardware funktioniert?


    Ja, der VDR ist komplett funktionstüchtig. Es gibt keine Einschränkungen. Alle Aufnahmen können abgespielt werden. Menü funktioniert, u.s.w.
    Die Abstürze kommen sporadisch.

    Zitat

    Wie ist die Empfangssituation?


    Ich habe keine Anzeige für Pegel. ich werde Femon nachinstallieren. (Aber, rpihddevice läuft ohne Probleme - außer Audiodrops: Audiodrops über HDMI mit rpihddevice)

    Zitat

    Werden mit meinem aktuellem git Stand verlorene Frames hochzählt?


    Wo kann ich das sehen? Mein syslog ist still im Moment des Absturzes.


    Viele Grüße
    Andy


    PS: noch ne Frage: Um das SHD zu kompilieren muß ich immer folgende Sachen deinstallieren: "libavcodec-dev libavformat-dev libavutil-dev libavresample-dev libavresample2", sonst kompiliert das SHD nicht.


    Gerade nochmal getestet. Direkt beim umschalten. Das Bild des neuen Senders ist noch nicht da:

    Code
    gdb -ex=run --args vdr -P "softhddevice -a hw:0,0 -c Master -v mmal" -P skinenigmang -P extrecmenu -P epgsearch


    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

    Einmal editiert, zuletzt von Asta ()

  • Hallo Asta,


    Wo kann ich das sehen?

    Im Haupmenu auf SoftHdDevice gehen. Da steht Statistik Zeugs drin.


    PS: noch ne Frage: Um das SHD zu kompilieren muß ich immer folgende Sachen deinstallieren: "libavcodec-dev libavformat-dev libavutil-dev libavresample-dev libavresample2", sonst kompiliert das SHD nicht.

    Das sind die header Dateien von FFmpeg. Die werden beim Kompilieren gebraucht. Hast Du mehrere Versionen von FFmpeg installiert? Aus welcher Quelle stammt FFmpeg?


    Passiert das bei einem bestimmten Sender, bei HD, SD, interlaced Sendern o.ä. oder ist das egal? Ich kann das Problem hier auf einem RPi2 nicht nachvollziehen. Es läuft täglich 1-2 Stunden und wird mit streamdev beliefert.


    Im git habe ich einen Patch eingepflegt der einen Null buffer abfängt. Teste das mal bitte.


    Gruss Zille

  • Hallo Zille. Neue Git Version und FFmpeg auch noch mal neu aus Git installiert.
    Menüeintrag nach wilden hin und herzappen:

    Code
    Frames verloren(20) verdoppelt(397) übersprungen(15) Gesamt(11557)


    Dann jedoch:


    Zitat

    Hast Du mehrere Versionen von FFmpeg installiert?


    Nein.

    Zitat

    Aus welcher Quelle stammt FFmpeg?


    Code
    git clone https://github.com/FFmpeg/FFmpeg


    Zitat

    Passiert das bei einem bestimmten Sender, bei HD, SD, interlaced Sendern o.ä. oder ist das egal?


    Ist völlig egal. Ich glaube das es angefangen hat nachdem ich vor ca. 14Tagen den RPI auf den neuesten Stand gebracht habe. Mit apt-get update und apt-get dist-upgrade und rpi-update. Danach müssen die Abstürze angefangen haben.

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Kannst du deinen PI auch mal so starten:

    Code
    gdb -ex=run --args vdr -P "softhddevice -a iec958:AES0=0x4,CARD=0 -p iec958:AES0=0x6,CARD=0 -v mmal -w use-possible-defect-frames"


    und dann wild zappen?
    Über die runvdr gestartet läuft er jetzt schon über 1Stunde ohne Absturz.


    PS: Sag mal Zille, gibt es irgendwie die Möglichkeit die Bildschärfe und den Deinterlacer im SHD einzustellen?

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

    2 Mal editiert, zuletzt von Asta ()

  • Hallo Asta,


    hab mir gestern ein Raspbian aufgesetzt und getestet. Auch heute läuft es jetzt seit 3 Stunden. Mehrmals die Senderliste rauf und runter brachte es nicht aus dem Tritt. Laut Deiner Signatur hast Du auch ein RPi2. Gibt es da auch Probleme? Ich kann das auf einem RPi2 nicht nachvollziehen. Ein 3er hab ich leider nicht. Wieviel gpu_mem gibst Du?


    PS: Sag mal Zille, gibt es irgendwie die Möglichkeit die Bildschärfe und den Deinterlacer im SHD einzustellen?

    Im SHD gibt es diese Möglichkeit nicht. Das Bild kann am TV angepasst werden. Als Deinterlacer ist der Advanced fest eingestellt.


    Gruss zille


    Edit: Auch wenn ich den Netzwerkstecker ziehe wird das letzte Bild angezeigt. Kein Absturz.

  • Ich habe gerade meine Karte in den RPI2 gesteckt und auch dort die Abstürze. Wenn es bei dir Tatsache auch mit gdb durchläuft werde ich wohl irgendeneinen Mist mit meiner Installation haben. Ich werde mal schauen ob ich noch ne andere sd Karte habe und mal neu installieren.

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Ich habe jetzt auf einer frischen SD-Karte komplett neu installiert.: Raspbian Jessie lite, VDR-2.2.0, Softhddevice aus dem GIT. mehr nicht.
    Karte im RPI3 und im RPI2. Bei beiden kommen beim Zappen die besagten Abstürze..
    Ich muß dich nochmal fragen Zille: Startest du auch mal mit gdb? Starte ich es ohne gdb, also mit der runvdr, läuft der pi auch manchmal 3-10h bis zum ersten Absturz ohne Probleme.
    Mit gdb dauert es meistens nur ein paar Minuten.

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Hallo Asta,


    ob mit oder ohne debugger macht hier keinen Unterschied. Im git steht eine neue Version. Sollte der pointer buffer NULL sein wird eine Meldung ins syslog geschrieben und die Verarbeitung des buffers unterbrochen. So meine Vermutung richtig ist sollte es keine segfaults mehr geben. Teste das mal bitte und wenn Meldungen im syslog auftauchen poste die hier.


    Gruss zille


    PS: Jetzt wird der Zap-Daumen gekühlt.

  • Danke Zille das du dir so eine Arbeit machst. Ich kann mir auch nicht erklären wieso das bei dir nicht auftritt.

    Zitat

    Teste das mal bitte und wenn Meldungen im syslog auftauchen poste die hier.


    Wie sieht denn der syslog Eintrag in etwa aus? So:

    Code
    [Nov 26 17:24:23 raspiwz vdr: audio/alsa: wait underrun error? 'Datenübergabe unterbrochen (broken pipe)'

    ?

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

Jetzt mitmachen!

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