Segfault mit MP3 Plugin

  • Hallo,


    ich verwende den e-tobi vdr 1.6 auf Ubuntu 9.04 i386 und einer Technotrend FF Karte (SAA7146 rev 01)


    Das MP3 Plugin spielt mp3 und wav Dateien einwandfrei ab.
    Bei ogg Dateien bekomme ich reproduzierbar sofort nach Auswahl der Datei einen Segfault.


    Wenn ich den vdr anhalte kann ich die ogg Dateien manuell mit dem mplayer über den Fernseher wiedergeben.


    Die Fehlermeldung des VDRs auf der Konsole lautet:
    ...
    instant: file 01 Lied.ogg
    mgr: background scan thread started (pid=5260)
    mgr: next -> 0
    mgr: scanning (id3) 01 ILied.ogg
    ogg: comment0='DESCRIPTION='
    ogg: comment1='title=Lied'
    Segmentation fault (core dumped)



    Das Core File meldet folgendes:
    ...
    Reading symbols from /usr/lib/vdr/plugins/libvdr-mplayer.so.1.6.0...
    (no debugging symbols found)...done.
    Loaded symbols for /usr/lib/vdr/plugins/libvdr-mplayer.so.1.6.0
    (no debugging symbols found)
    Core was generated by `/usr/bin/vdr -v /var/lib/video.00 -c /var/lib/vdr -L /usr/lib/vdr/plugins -r /u'.
    Program terminated with signal 11, Segmentation fault.
    [New process 5272]
    [New process 5267]
    [New process 5271]
    [New process 5265]
    [New process 5264]
    [New process 5268]
    [New process 5266]
    [New process 5260]
    #0 0xb7d78613 in strlen () from /lib/tls/i686/cmov/libc.so.6



    Hat jemand eine Idee woran das liegen kann bzw. wie ich dem Fehler auf die Spur komme?


    Demizo


  • Du solltest die Plugins und VDR mit Debug Symbolen compilieren (d.h. gcc option -g bzw. nicht strippen).
    Ansosten ist der Backtrace nicht aussagekräftig.


    Gruß
    Stefan

  • Tritt denn der Fehler bei allen OGG-Dateien auf, oder nur bei bestimmten?


    Ursache kann vieles sein. Wäre schon schön, wenn demizo hier etwas zur Fehlersuche betragen könnte.


    Ich habe das MP3-Plugin so gepatcht, dass es auch OGG-Streams abspielt. Sollte es einen Crash-Bug in OGG-Decoder geben, dann wäre das in meinem Fall zumindest unschön, wenn nicht sogar gefährlich...

  • Der Fehler tritt "grundsätzlich und ausschliesslich" bei all meinen OGG Dateien auf. Die ogg Dateien wurden durch ripit / oggenc mit parameter -q 5 (quality 5) erzeugt.


    Gerne trage ich zur Fehlersuche bei und stehe als "verlängerter" Arm zur Verfügung.


    Da der VDR schon produktiv ist, werde ich spätestens morgen Abend einen zweiten vdr mit gleicher Umgebung (allerdings andere Hardware) als Spielwiese aufsetzen.


    stefan: gibt es irgendwo eine Anleitung mit der ich den VDR und die Plugin's mit debug Symbolen übersetzen kann? Hoffentlich macht GCC Version 4.3 unter Uuntu 9.04 keine Umstände, da viele Sourcen wohl schon auf die Version 4.4 setzen?


    Gruß
    Demizo

  • Zitat

    Original von demizo
    stefan: gibt es irgendwo eine Anleitung mit der ich den VDR und die Plugin's mit debug Symbolen übersetzen kann? Hoffentlich macht GCC Version 4.3 unter Uuntu 9.04 keine Umstände, da viele Sourcen wohl schon auf die Version 4.4 setzen?


    Die gcc Version sollte kein Problem darstellen.


    Die Debugsymbole werden durch die gcc/g++ Option -g erzeugt.
    Die ist beim VDR im Standard schon gesetzt (solange du keine eigenen FLAGS in Make.config stehen hast).
    Für das MP3 Plugin "make DBG=1 plugins" (nach einen make clean-plugins natürlich)
    Und natürlich sicherstellen das nicht irgendein Buildscript am Ende die Symbole wieder stripped.

  • Hallo,


    ich weiß nicht, ob das das selbe Problem ist, aber ich beobachte ähnliche Abstürze seit ich auf UTF-8 umgestellt habe, und vor allem (aber wohl nicht ausschließlich) mit Ogg-Files die danach erstellt wurden... Und auch nur, wenn die Datei Tags enthält, d.h. wenn ich nur encode aber keinerlei Info dazupacke, dann geht's noch...


    Allerdings habe ich noch keine Zeit gehabt, daß im Detail zu analysieren...


    Kann es sein, daß entweder oggenc oder das MP3-Plugin Probleme mit UTF-8 an dieser Stelle hat?
    demizo: Verwendest Du UTF-8?


    Tschööö
    rfu

    :vdr2 Server: vdr 2.6.4 (yavdr) im Ubuntu 22.04 docker, Client: Kodi (LibreELEC)

  • Hallo,


    habe einen zweiten "nicht-produktiven" vdr unter Ubuntu 8.04 aufgesetzt.


    Der vdr und das vdr-plugin-mp3 habe ich mit dpkg-buildpackage -tc erstellt und installiert -> debugging symbols sind in vdr und vdr-plugin-mp3 vorhanden. Die libogg habe ich (noch) nicht selbst mit debugging Infos übersetzt.


    Das Problem: Abtsurz beim Abspielen von Ogg Files besteht auch auf dem neuen System.
    ----------
    ...
    Loaded symbols for /usr/lib/libFLAC.so.8
    Reading symbols from /usr/lib/libogg.so.0...
    (no debugging symbols found)...done.
    Loaded symbols for /usr/lib/libogg.so.0
    (no debugging symbols found)
    Core was generated by `/usr/bin/vdr -v /var/lib/video.00 -c /var/lib/vdr -L /us /lib/vdr/plugins -r /u'.
    Program terminated with signal 11, Segmentation fault.
    [New process 22039]
    #0 0xb7c7e283 in strlen () from /lib/tls/i686/cmov/libc.so.6
    -----------


    rfu: Volltreffer!!
    Ja ich verwende UTF-8 - und wenn ich die Metainformationen aus einer .ogg Datei entferne - so stürzt der vdr beim Abspielen dieser "nackten" Datei nicht ab.


    Gruß
    Demizo

  • Hi Stefan,


    ich hoffe das hilft -ansonsten kurze Rückmeldung...


    (gdb) bt
    #0 0xb7c7e283 in strlen () from /lib/tls/i686/cmov/libc.so.6
    #1 0xb7c2311f in iconv_open () from /lib/tls/i686/cmov/libc.so.6
    #2 0xb7a10656 in ?? () from /usr/lib/vdr/plugins/libvdr-mp3.so.1.6.0
    #3 0xb7a112c8 in cOggInfo::DoScan ()
    from /usr/lib/vdr/plugins/libvdr-mp3.so.1.6.0
    #4 0xb7a1171c in cOggDecoder::SongInfo ()
    from /usr/lib/vdr/plugins/libvdr-mp3.so.1.6.0
    #5 0xb79fba03 in cSong::Info () from /usr/lib/vdr/plugins/libvdr-mp3.so.1.6.0
    #6 0xb7a0043c in cPlayManager::Action ()
    from /usr/lib/vdr/plugins/libvdr-mp3.so.1.6.0
    #7 0x0811545c in cThread::StartThread ()
    #8 0xb7f2d4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
    #9 0xb7ce2e5e in clone () from /lib/tls/i686/cmov/libc.so.6


    Gruß
    Demizo

  • Hi,


    irgendwas stimmt mit deinen Debug Symbolen nicht.
    Normalerweise zeigt gdb an in welcher Codezeile er ist.


    Aber zunächst mal:
    Von welcher mp3-plugin version sprechen wir eigentlich?
    Falls es nicht die HG Version ist, muß ich sagen das das letzte Release 0.10.1 noch keinen UTF-8 Support hat. Ich glaube es gab mal einen Patch der das nachrüstet, aber dann darfst du mich nicht fragen.


    Es kommt mir deshalb etwas komisch vor, weil die vorletzte Funktion iconv_open ist und die verwendet ich nur indirekt. Dann sollte sich aber eine Referenz zu cCharSetConv im VDR Code finden.


    Gruß
    Stefan

  • Hi Stefan,


    ich habe mit


    # apt-get source vdr-plugin-mp3=0.10.1-13
    die Sourcen von e-tobi geladen. Dann mit
    # apt-get build-dep vdr-plugin-mp3=0.10.1-13
    # dpkg-buildpackage -tc
    das Packet geschnürt und mit
    # dpgk -i vdr-plugin-mp3_0.10.1-13_i386.deb
    das Plugin installiert.


    Dann in der Bash
    # ulimit -c unlimited
    und in der gleichen Bash
    # /usr/bin/runvdr ...
    ausgeführt.


    Patches habe ich keine auf das Plugin losgelassen.


    -> Dann mache ich mich mal schlau wie ich die HG Version installiert bekomme.


    Grüße
    Demizo.

Jetzt mitmachen!

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