[Live] Tntnet30

  • Ich habe mich mal daran versucht, Live mit Tntnet30 zum Laufen zu bringen, leider nicht erfolgreich.

    MarkusE hat mich freundlicherweise auf sein git berechtigt, damit wir nicht wieder mehrere gits haben. Mein Versuch liegt in seinem git im Branch Tntnet30.

    Aktueller Status: es kompiliert, aber crashed beim Aufruf der Aufnahme Liste.

    Ich konnte den Fehler eingrenzen, dass bei diesem rekursivem Aufruf der Vector mit dem Parameter "path" nicht funktioniert. Einfache Parameter wie "level" oder "filter" kommen an, der Vector "path" kommt aber immer leer an. Damit gibt das eine Endlos Schleife, bis zum Crash.

    Ab da komme ich nicht weiter. MarkusE : schaust du dir das mal an, ob du da was finden kannst. Ich vermute fast, das ist ein Bug in Tntnet30.

  • Nachdem ich nun die Suche nach dem Fehler schon fast aufgegeben hatte und den Hilfe Post abgesetzt hatte, bin ich durch Zufall über die Lösung gestolpert.


    Quelle


    "Eine kleine Änderung, selten genutzt", naja, das hat mich Tage Suche gekostet.

    Erster Test war auch erfolgreich, mit "path[]" statt "path" wird nun auch der Vector übergeben. Somit kann es weiter gehen.

  • Vielen Dank für die Änderungen im Tntnet30 branch.

    Ich werde dann mal vdr-live dagegen kompilieren und testen, gebe dann die nächsten

    Tage Bescheid.

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Wenn ich unter "Was läuft?" bin und dann bei einem Programm auf "Stream this channel in browser" gehe, bekomme ich

    die Meldung: Error "Der Server antwortet nicht"

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Ja, kann ich reproduzieren, da gib es auch einen Crash.

    Aber so weit bin ich noch nicht, ich kämpfe gerade immer noch mit der Aufnahme Liste, bei einer meiner Aufnahme bekomme ich:

    Code
    1. WARN tntnet.worker - http-Error: 500 character conversion failed

    Schön wäre es, wenn man einen Hinweis bekommen würde, wo im Code das schief geht ...

    Lass uns die offenen Punkte hier sammeln, ich versuche die nach und nach abzuarbeiten.

  • ok werde noch ein bisschen testen.

    Beim Timer speichern bekomme ich "Seitenfehler: Fehler in den Timer Einstellungen"

    Ich habe mal einen full backtrace davon angehängt, weis nicht ob es dir hilft.

    Files

    • backtrace1.txt

      (8.1 kB, downloaded 20 times, last: )

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Der Punkt

    WARN tntnet.worker - http-Error: 500 character conversion failed

    ist im git gefixed. Ich hatte eine Aufnahme von einem anderen vdr im Aufnahmeverzeichnis, wo das vdr info File iso-8859-1 codiert war. Tntnet20 zeigt dann seltsame Zeichen statt der Umlaute an, Tntnet30 zeigt gar keine Aufnahme mehr an.

    Ich habe mal einen full backtrace davon angehängt, weis nicht ob es dir hilft.

    Ja, hat geholfen. Das Problem liegt an diesem commit. Da habe ich mal auf die Schnelle nur den Header der zusätzlich benötigten Funktion eingebaut damit Live kompiliert, aber noch nicht einen Inhalt. Somit bekommt die Funktion "Timer speichern" die Channel-Id des Timer nicht. In Tntnet20 ging das mit internen Funktionen. Jetzt muss ich erst mal verstehen, was Tntnet30 hier haben will.

  • Super, die beiden gemeldeten Probleme sind jetzt behoben.

    Am Anfang als ich die neue Version installiert hatte, bekam ich einen Coredump, ich weis leider nicht mehr, was ich gemacht habe, kann gerade nicht

    mehr nachvollziehen. Ich habe jetzt einfach mal den backtrace angehängt, vielleicht lässt sich daraus was ermitteln ?

    (Ich habe nach bt full, noch ein where und list abgesetzt).

    Files

    • backtrace2.txt

      (17.78 kB, downloaded 19 times, last: )

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Soweit sieht es schon mal gut aus, ich werde die Woche über immer wieder mal testen und Bescheid geben.

    Danke für deine Arbeit. :tup

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Habe noch verschiedene Test gemacht, konnte keine weiteren Crashes mehr feststellen.

    Damit sollte MarkusE die Änderungen in den aktuellen branch übernehmen können. :)

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • kfb77 Hallo melde mich nochmals,

    habe heute Morgen nochmals etwas rum gespielt und bin im web-browser von vdr-live ein paar Schritte zurückgegangen habe dann in den abrt-Ordner geschaut, da lag dann dieser Coredump von welchem ich einen Backtrace erstellt habe.

    Files

    • backtrace3.txt

      (10.5 kB, downloaded 15 times, last: )

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Das wird eine schwierige Nummer ...

    Ich vermute, der Crash hat gar nichts mit Tntnet30 zu tun.

    Code
    1. eventTimer = std::unique_ptr<cTimer> = {get() = 0x0}

    Der Crash ist im VDR selbst, die Ursache ist vermutlich aber der o.g. NULL Pointer in edit_timer.ecpp:138.

    Kann es sein, dass du beim Zurückblättern einen Timer editiert hast, dessen EPG Event bereits abgelaufen war ?

    Installiere mal den Branch "crash" vom git und versuche den Crash nochmals hinzubekommen.

    Falls mein Verdacht stimmt, dann müsste im syslog "live: edit_timer.ecpp eventid ... not valid" stehen.

  • Ich habe den crash branch installiert, kann den Crash aber nicht mehr nachvollziehen, egal wie viele Aktionen ich vorher gewählt habe, und

    dann wieder auf Zurückblättern gehe.

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Ja, damit ist es mir auch nicht gelungen. Aber mein Verdacht war richtig, du kannst den Crash "mit Gewalt" erzeugen, indem du einen Timer aus der Programmübersicht erstellst und vor dem Speichern im Browser die letzte Stelle der URL löscht um eine ungültige Event ID zu erzeugen. Beim Speichern kommt dann genau dein Crash. Man sollte besser Pointer auf NULL überprüfen bevor man sie verwendet ...

    Fix ist im Branch Tntnet30, Branch crash ist gelöscht.

  • Ja, damit ist es mir auch nicht gelungen. Aber mein Verdacht war richtig, du kannst den Crash "mit Gewalt" erzeugen, indem du einen Timer aus der Programmübersicht erstellst und vor dem Speichern im Browser die letzte Stelle der URL löscht um eine ungültige Event ID zu erzeugen. Beim Speichern kommt dann genau dein Crash. Man sollte besser Pointer auf NULL überprüfen bevor man sie verwendet ...

    Fix ist im Branch Tntnet30, Branch crash ist gelöscht.

    Vielen Dank für deine Mühe, wann werden deine Änderungen übernommen ?

    Gruß MartinKG

    Fedora33 x86_64 Gnome Desktop vdr 2.4.4 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400