[Beta-Test] Permashift Episode II - Die Rückkehr der Ringspeicher

  • Hallo!

    Code
    1. Jun 24 22:38:51 [kernel] vdr[4757]: segfault at 0 ip (null) sp 00007f50d2ffcd68 error 14 in vdr[400000+1da000]


    Log: --> http://bpaste.net/show/I2PrjeeUUuv1cPuSgKbX/


    Coredump: --> http://bpaste.net/show/404133/

    Leider seh ich dem Log wenig an.
    Und einen Coredump hab ich noch nie im Leben verwendet. Ich hab mich jetzt mal ein bisschen schlauer gemacht
    und anscheinend bräuchte mal wohl zum einen das verwendete Original-Binary, und zum anderen müsste das
    auch noch Debug-Informationen enthalten.


    Ich werde am Wochenende wohl nochmal "händisch" durch den Code gehen und nach gefährlichen Pointern
    Ausschau halten, und es gibt noch einen Probierer, bei dem es ebenfalls abstürzt, der sich seinen Core-Dump
    vornehmen will. Schmaummermal.


    Danke für die Daten!


    Ciao,
    Eike

  • Coredump: --> http://bpaste.net/show/404133/
    Leider seh ich dem Log wenig an.
    Und einen Coredump hab ich noch nie im Leben verwendet. Ich hab mich jetzt mal ein bisschen schlauer gemacht
    und anscheinend bräuchte mal wohl zum einen das verwendete Original-Binary, und zum anderen müsste das
    auch noch Debug-Informationen enthalten.


    Dem Logfile kann man nur ansehen, dass der verwendete VDR ohne Debug-Symbole gebaut wurde, da wird dir der Coredump auch wenig helfen.


    Wozu 3PO den Log postet ist mir schleierhaft.


    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

  • Dem Logfile kann man nur ansehen, dass der verwendete VDR ohne Debug-Symbole gebaut wurde, da wird dir der Coredump auch wenig helfen.
    Wozu 3PO den Log postet ist mir schleierhaft.
    Gerald


    Wenn man sich ein bischen Muehe gibt und Ahnung hat dann kann man mit dem Dump ne Menge anfangen :)
    Zudem sind die entscheidenden Stellen sehr wohl mit debug Info gebaut:


    Daraus kann man sehr schoen erkennen dass (wie ich eh schon vermutet hatte) das graphtft Plugin abkachelt.
    Im Zweifelsfall ist doch eh irgendeines der exotischen und zu schlecht getesteten Klicki-Bunti OSD-Plugins fuer nen Absturz verantwortlich :)

  • Wenn man sich ein bischen Muehe gibt und Ahnung hat dann kann man mit dem Dump ne Menge anfangen :)


    Du hast Recht, Asche auf mein Haupt.


    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

  • Hallo!

    Wenn man sich ein bischen Muehe gibt und Ahnung hat dann kann man mit dem Dump ne Menge anfangen :)
    Zudem sind die entscheidenden Stellen sehr wohl mit debug Info gebaut:

    Also, zum einen Danke für's Kucken und zum anderen Sorry, dass ich erst gar nicht auf den Dump geschaut habe.


    Jetzt muss ich aber eine Ahnungslosen-Frage stellen: Ist das Verlinkte ein Core Dump? Ich bin so fest davon ausgegangen,
    dass ein Core Dump Binär-Klumpatsch ist, dem man ohne Executable und GCC/GDB gar nichts ansehen kann, dass ich nicht
    mal auf den Link geklickt hab.


    Ciao,
    Eike

  • Ist das Verlinkte ein Core Dump?

    Das sieht für mich aus wie die Ausgabe von gdb für den Befehl "bt full", das die Datei mit dem eigentlichen Coredump (/tmp/corefiles/core.4404) eingelesen hat. Ich würde das eher als Backtrace bezeichnen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • OK, nachdem nun geklärt wurde, dass das Dump ein Backtrace ist und Melinae nicht zum debuggen taugen, würde mich schon interessieren, weshalb beim Beenden von Permashift, sich graphtftng und somit auch der VDR sich mit einem Segfault verabschiedet? ?(

  • Bei mir gibt es in cGraphTFTDisplay::meanwhile()


    Diese Zeile:

    Code
    1. if (_replay.control && _replay.control->GetReplayMode(aPlay, aForward, aSpeed))


    Sieht das bei dir genauso aus?


    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

  • Scheint es bei mir auch zu geben:


  • Scheint es bei mir auch zu geben:


    Schade, wäre ne Möglichkeit gewesen.


    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

  • OK, nachdem nun geklärt wurde, dass das Dump ein Backtrace ist und Melinae nicht zum debuggen taugen, würde mich schon interessieren, weshalb beim Beenden von Permashift, sich graphtftng und somit auch der VDR sich mit einem Segfault verabschiedet? ?(


    Das solltest Du den Maintainer des graphtft plugins fragen ...

  • Wenn das nach dem Stop passiert, also wenn der Player vermutlich gerade abgebaut wird/wurde,
    kann es sein, dass das Plugin das nicht mitgekriegt hat und trotzdem auf ihn zugreift?


    Die Methode mit dem Null-Pointer ist ja übersichtlich:
    bool GetReplayMode(bool &Play, bool &Forward, int &Speed) { return player->GetReplayMode(Play, Forward, Speed); }


    Funktioniert es bei dir zuverlässig, wenn du ganz ohne Permashift Live-Fernsehen pausierst,
    dann abspielst und dann stopst, oder stürzt es da auch schon mal ab?


    Ciao,
    Eike

  • [...] kann es sein, dass das Plugin das nicht mitgekriegt hat und trotzdem auf ihn zugreift? ...


    Wenn ich diese Frage beantworten könnte, könnte ich es vermutlich auch fixen, ;)


    [...] Funktioniert es bei dir zuverlässig, wenn du ganz ohne Permashift Live-Fernsehen pausierst,
    dann abspielst und dann stopst, oder stürzt es da auch schon mal ab? ...


    Habe ich nie getestet, müsste ich mal prüfen.

  • Ich habe gerade mal das permashift-Plugin deaktiviert und etwas seltsames festgestellt:


    Wenn das permashift-Plugin deaktiviere, dann funktioniert der Schlüssellieferant nicht mehr zuverlässig. :(
    D.h. wenn ich auf einen verschlüsselten Kanal bin und den VDR so eingestellt habe, dass er mit dem Programm starten soll, das vorher eingestellt war und ich dann den VDR neu starte, dann bleibt der Bildschirm dunkel.
    Wenn ich dann auf einen FTA Kanal und wieder zurückschalte, dann geht es.
    Das Anhalten, Fortsetzen und Beenden geht ohne aktiviertes das permashift-Plugin problemlos, allerdings ist das Verhalten, mir den verschlüsselten Sendern das selbe, wie oben schon beschrieben. :(


    Aktiviere ich das das permashift-Plugin wieder, ist alles so, wie es sein soll.


    Liegt das an dem VDR Patch vom das permashift-Plugin?


    Ich habe das jetzt mehrfach getestet und das o.g. Verhalten lässt sich jedes Mal nachvollziehen.

  • Hallo!


    Zum Schlüssel-Programm ist mir noch unklar, ob das Problem auch unter aktiviertem Permashift
    (so hörte es sich in einer deiner ersten Nachrichten dazu an) oder nur mit deaktiviertem Plugin passiert.
    Und was ich da machen könnte, weiß ich leider schon gar nicht.


    Zu dem GraphTFT-Plugin fällt mir auch wenig ein. Hast du übrigens so ein TFT oder läuft das Plugin
    nur so mit, weil eine Distribution es installiert hat? (Dann ist meine Chance größer, es zu reproduzieren.)


    Aber ich hab mir dein Log nochmal genauer angekuckt und festgestellt, dass mit dem parallelen
    Speichern da etwas gründlich schiefläuft. Scheint wieder so ein Über-2-GB-Problem zu sein.
    Darum werde ich erstmal kümmern.


    Ciao,
    Eike

  • [...] Zu dem GraphTFT-Plugin fällt mir auch wenig ein. Hast du übrigens so ein TFT oder läuft das Plugin
    nur so mit, weil eine Distribution es installiert hat? (Dann ist meine Chance größer, es zu reproduzieren.) ...


    Selbstverständlich habe ein Display angeschlossen, sonst würde ja graphtft gar keinen Sinn machen. :)