Segfault unter Fedora20

  • Hallöchen liebe Freunde,
    ich habe nach langer Zeit mal wieder ein Bisschen zu basteln angefanden. Ich habe einen Celeron Rechner mit zwei Budget Karten bestückt (DVB-S & DVB-T) um diesen nun als Streamserver für XBMC zu benutzen (da ja jeder jetzt darüber redet wie schön das alles funktioniert). Ich habe das neueste stable Release genommen und auf einer Fedora 20 installiert. Ich habe nur ein einziges Plugin und zwar dummydevice und bekomme einen segfault wenn ich den VDR starte. Ich hatte zuerst die Firmware in Verdacht, aber irgendwie kann das Problem dort ja wohl auch nicht liegen.


    Mein Log:


    Hat vielleicht jemand 'ne Idee?


    Gruss
    Merlin

  • Am besten mal mit Debugsymbolen übersetzen (falls du sie stripst), "ulimit -c unlimited" vorher ausführen und dann mit "--userdump" auf der Konsole starten, damit ein coredump geschrieben wird.
    Und dann mit gdb einen Backtrace erzeugen, damit man sieht, wo genau er da abstürzt.


    Lars.

  • Hast du eine remote.conf? Wenn nicht, dann versucht der vdr deine Fernbedienung anzulernen (das ist zumindest die nächste Zeile in vdr.c nach "new cKbdRemote;".
    Wenn du den vdr über systemd als service starten lässt, füge sonst mal "--no-kbd" hinzu.


    Trotzdem sollte man den Absturz untersuchen, damit sowas abgefangen werden kann.


    Lars.

  • Also die --no-kbd Option ändert schonmal nichts am Segfault.


    Könntest Du mir bitte genau beschreiben wie ich einen Dump erzeuge? Hab' ich nämlich noch nie gemacht :)




    Gruss
    Merlin

  • Er scheint aber schon ein wenig weiter zu kommen.
    Ich bin mir nicht sicher, ob dummydevice noch nötig ist, probier's mal ohne.


    Sammelt systemd nicht vielleicht schon automatisch einen coredump ein? Frag mal journalctl.
    Ansonsten den vdr einfach mal mit "--userdump" starten, vielleicht kommt dann einer.
    Wo man bei Fedora das "ulimit -c unlimited" festlegt, weiß ich nicht genau. Im Zweifel sonst den vdr einfach in einer Shell manuell starten (als root):

    Code
    ulimit -c unlimited
    vdr --userdump <und sonstige Optionen>


    Lars.

  • Jetzt habe ich vdr mit --userdump als root gestartet.


  • Und liegt irgendwo ein coredump?
    Wenn du ihn gefunden hast:

    Code
    gdb /usr/bin/vdr --core=/pfad/zu/coredump


    Dann mit "bt full" einen Backtrace erzeugen.


    Lars.

  • Cool.


    Scheint unter systemd auch einfacher zu gehen:
    http://www.freedesktop.org/sof…/systemd-coredumpctl.html
    Also einfach mal versuchen:

    Code
    systemd-coredumpctl gdb /usr/bin/vdr


    (wenn dein vdr unter /usr/bin liegt, ansonsten anpassen).


    Lars.

  • Dann sind die fehlenden Fonts ein Problem:

    Code
    ERROR: no fonts available - OSD will not show any text!


    Deshalb bekommt der vdr wohl keine Fontgrößen und dann ist bestimmt "TinyFont" NULL.
    Kannst du da mal

    Code
    print TinyFont


    im gdb eingeben?


    Lars.

  • Ach so, 'tschuldigung.
    Vermutlich wird's auch mit dummydevice abstürzen.


    Du könntest ein anderes Skin in der setup.conf eintragen (z.B. classic). Vielleicht ist das weniger zimperlich.


    Auf alle Fälle hast du einen Bug im vdr gefunden, dafür schon mal Glückwunsch. :)


    Lars.

  • Du könntest kls davon berichten, ich muss jetzt leider weg.
    lcars scheint nicht wirklich darauf ausgelegt zu sein, ohne Font zu arbeiten. Da wird's auch an anderen Stellen segfaults geben.


    Lars.

Jetzt mitmachen!

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