vdr-epg2vdr: Compilieren schlägt mit VDR 2.6 fehl

  • ich finde am epgHandler Interface keine Änderung. Nach einem Neustart des VDR läuft es hier auch für einige einige Minuten dann bleibt es hängen.
    Sieht nach einem Lock aus

  • mit dem Fix klappt es hier wieder:

    Ursache war eine, durch nicht symmetrische Begin/End SegmentTransfer Aufrufe, unterbrochene Lock Sequenz.

  • mit dem Fix klappt es hier wieder:

    Bist Du sicher, dass patch gegen 2.6.0 oder 2.5.7 ist? Ich finde

    Code
    1. if (!EpgHandlers.Begin (Channel)) {

    schon nicht. :(

    gentoo (vdr-2.6.0 manuell installierg), Asus Sabertooth FX990, AMD FX8150, 16GB 1833, CineS2(kernel 5.15.x inkl. standard dvb Treiber), USB RC(inputevxd), Asus gt1030, vertex4 ssd (system), mdraid5 9TB

  • Ich hab den vdr von git Head und bekomme 2.6 als Version angezeigt.

  • Ich hab den vdr von git Head und bekomme 2.6 als Version angezeigt.

    https://projects.vdr-developer.org/git/vdr.git/tree/eit.c enthält die Zeichenkette "EpgHandlers.Begin " aber nicht - http://git.tvdr.de/?p=vdr.git;…f3b0b88046fb6fdd82faa37b5 auch nicht. Ich glaube ich stehe gerade auf der Leitung...

    gentoo (vdr-2.6.0 manuell installierg), Asus Sabertooth FX990, AMD FX8150, 16GB 1833, CineS2(kernel 5.15.x inkl. standard dvb Treiber), USB RC(inputevxd), Asus gt1030, vertex4 ssd (system), mdraid5 9TB

  • merkwürdig, in dem Patch fehlen nach dem Copy&Paste ein paar Zeichen :o

    noch ein Versuch:


    hmm nach dem ich es als Code Formatiert hatte schon wieder. Nun habe ich erst die Code Formatierung eingefügt dann den Test gepastet nun scheint es zu passen. Sicherheitsgabler nochmal als gz im Anhang

    Files

    • eit.patch.gz

      (452 Byte, downloaded 14 times, last: )
  • horchi : der Anhang passt. Überstzte jetzt und teste dann. Danke!

    gentoo (vdr-2.6.0 manuell installierg), Asus Sabertooth FX990, AMD FX8150, 16GB 1833, CineS2(kernel 5.15.x inkl. standard dvb Treiber), USB RC(inputevxd), Asus gt1030, vertex4 ssd (system), mdraid5 9TB

  • Code
    1. 117
    2. 118 if (!EpgHandlers.BeginSegmentTransfer(Channel)) {
    3. 119 SchedulesStateKey.Remove(false);
    4. 120 ChannelsStateKey.Remove(false);
    5. 121 return;
    6. 122 }
    7. 123


    Aus http://git.tvdr.de/?p=vdr.git;…f3b0b88046fb6fdd82faa37b5

    Der nicht vorhandene String war "EpgHandlers.Begin ", nicht "EpgHandlers.Begin". Ersterer kommt nicht vor.

    gentoo (vdr-2.6.0 manuell installierg), Asus Sabertooth FX990, AMD FX8150, 16GB 1833, CineS2(kernel 5.15.x inkl. standard dvb Treiber), USB RC(inputevxd), Asus gt1030, vertex4 ssd (system), mdraid5 9TB

  • Meinen "Division by 0" löst das nicht, den habe ich immer noch. Mit vdr 2.4.7 tritt er nicht auf.

    Hier vollständiges log von "service epgd restart":

    VDR
  • hast du inzw. schon wieder neue EPG Daten in der Tabelle? Ggf. ist das in der mergeepg Prozedur nicht abgefangen.
    Ansonsten müsste CKone sich das bei Gelegenheit mal ansehen.


    Falls in den Tabellen was schräg ist könntest du mal mit leeren Tabellen beginnen. dazu musst du nur epgd-dropall aufrufen und dort NUR die oberste Frage mit y beantworten. Dann epgd und vdr neu Starten. Die EPG Daten aus dem Internet sind ja schnell wieder geholt.

  • Habe gerade erst realisiert das das ein Patch gegen den VDR selbst ist. Vielleicht ein guter Zeitpunkt da kls mal drauf aufmerksam zu machen. Um das bei vdr4arch einzubauen brauche ich sowas wie einen "offiziellen Segen" oder eine Version die tatsächlich in einer zukünftigen VDR-Version integriert sein wird.

  • Kann sein das der finale Bugfix anders aussieht das weiß ich nicht.

  • Falls in den Tabellen was schräg ist könntest du mal mit leeren Tabellen beginnen

    Auch danach ist das Problem noch da, auch mit vdr 2.4.8.

    Somit off topic, ich mache einen eigenen Thread auf.

    VDR
  • horchi


    Nach gut 24 h Dauerbetrieb, bin ich recht sicher, dass Dein hotfix funktioniert. Danke fürs fixe (hot)fixen!


    Nehmt Ihr bitte die Anpassung für aktuelle libmysqlclient und mysql Versionen auf Eurer Todo-Liste auf?

    gentoo (vdr-2.6.0 manuell installierg), Asus Sabertooth FX990, AMD FX8150, 16GB 1833, CineS2(kernel 5.15.x inkl. standard dvb Treiber), USB RC(inputevxd), Asus gt1030, vertex4 ssd (system), mdraid5 9TB

  • auch wenn im README immer noch mysql steht entwickle ich schon lange ausschließlich mit dem mariadb Client. Dort ist die 10.x aktuell und damit funktioniert es hier. Hintergrund war/ist das die Distributionen vermehrt auf MariaDb gesetzt haben - ob das heute noch so ist weiß ich nicht.


    Lediglich im Makefile wird noch mysql_config verwendet und der eingebundene Header wird noch unter mysql gesucht wodurch die *-dev-compat Pakete noch benötigt werden. Das passe ich demnächst mal an.

    Was genau klappt den mit der 8er mysql Client Library nicht (müsste zum testen ein System damit aufsetzen). Wenn die Unterschiede nicht groß sind kann ich schauen das ich es auch zu mysql kompatibel halten.

  • Ich werde dann lieber nach mariadb migrieren - ich bin nicht festgelegt auf mysql und will nicht mehr Arbeit erzeugen als nötig.

    gentoo (vdr-2.6.0 manuell installierg), Asus Sabertooth FX990, AMD FX8150, 16GB 1833, CineS2(kernel 5.15.x inkl. standard dvb Treiber), USB RC(inputevxd), Asus gt1030, vertex4 ssd (system), mdraid5 9TB

  • Ich werde dann lieber nach mariadb migrieren - ich bin nicht festgelegt auf mysql und will nicht mehr Arbeit erzeugen als nötig.

    das wer ich auch morgen frueh in angriff nehmen. hab eine bitte:

    koennte jemand eine passende config fuer mariadb posten, die zum epg-daemon passt.

    wuerde jede menge arbeit sparen - besten dank


    gruss

    beinhart

  • du meinst für den Datenbank Server?

    Da verwende ich das was als default mit kommt und kommentiere das binary logging (falls aktiviert) aus:

    #log_bin                = /var/log/mysql/mysql-bin.log

    Je nachdem auf welchem Interface der Server lauschen soll ggf. noch:
    bind-address = <die ip>


    beides steht hier (Ubuntu Server) in /etc/mysql/mariadb.conf.d/50-server.cnf


    Heute Abend kommt noch eine Version von epgd und epg2vdr welche das Paket libmariadb-dev-compat nicht mehr benötigen.

    Möchte man es dennoch gegen die mysql Libs bauen kann man das mit make MYSQL=1 dann baut es mit den mysql Client Versionen welche noch kompatibel sind.


    Grüße Jörg