Howto: Rausfinden welches Plugin den VDR abstürzen lies

  • Ich habe mir mal Gedanken gemacht wie das runvdr script erkennen kann welches Plugin abgestürzt ist und wie man es beim nächsten Start deaktivieren kann.
    Somit verhindert man die bekannte start-schleife.


    Dazu muss vdr mit -g übersetzt sein, was es per default auch ist.


    Als erstes muss in das runvdr ein

    Code
    ulimit -c unlimited


    mit rein. Das muss nur einmal nach dem booten gemacht werden.
    Somit wird ein coredump beim Absturz von VDR erzeugt.


    Mit folgendem Befehl kann der coredump dann ausgewertet werden.

    Code
    gdb --core core --exec vdr --batch -ex bt


    Da mich ja erst mal nur interessiert welches Plugin den Fehler verursacht hat extrahiere ich den Pluginnamen:

    Code
    gdb --core core --exec vdr --batch -ex bt 2>&1 | grep cPlugin | tail -1 | sed "s/.*cPlugin\(.*\)::.*/\1/g"


    Somit habe ich den Namen des Plugin welcher den Absturz verursacht hat und kann dieses gegebenenfalls beim nächsten Start deaktivieren.





    Ein netter Tip ist es auch die Coredump zu sammeln.
    Ich mache es so:

    Code
    echo "/home/vdr/coredumps/core.%e.%p.%t" > /proc/sys/kernel/core_pattern


    Dann landen die coredumps alle bei mir im Homeverzeichniss mit einem eindeutigen Namen.
    Für Distri Entwickler ist das eine echte Hilfe wenn man diese Coredumps dann an die Entwickler schickt.

  • Zitat

    Original von decembersoul
    Ein netter Tip ist es auch die Codedump zu sammeln.
    Ich mache es so:

    Code
    echo "/home/vdr/coredumps/core.%e.%p.%t" > /proc/sys/kernel/core_pattern


    Dann landen die coredumps alle bei mir im Homeverzeichniss mit einem eindeutigen Namen.
    Für Distri Entwickler ist das eine echte Hilfe wenn man diese Coredumps dann an die Entwickler schickt.


    :arme nach der Info such ich schon bestimmt seit einem halben Jahr, ich war nicht mal sicher dass das _überhaupt_ geht - VIELEN DANK!
    Wo ist denn das dokumentiert?

  • google man nach "/proc/sys/kernel/core_pattern"
    So habe ich es zumindest gefunden.

  • Mal ein richtig gutes und vor allem nahezu zeitloses Howto.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Kann mich gda nur anschliessen.

Jetzt mitmachen!

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