epghttpd bricht ab

  • Hallo,

    mein epghttpd bricht immer mal zusammen wenn ich versuche irgendwelche Filmbeschreibungen aus der Magazinübersicht zu öffnen. ein paar mal gehts gut. Dann hängt es wieder. Es geht nur weiter wenn ich den Daemon neu starte. aber das dauert dann manchmal 3-5 Minuten bis er wieder startet.


    systemctl status epghttpd gibt folgende letzte Meldung aus:

    Code
    epghttpd[3619939]: SQL-Error in 'execute(store_result)' - BIGINT value is out of range in '100 - ifnull(epglvr(`epg2vdr`.`recordinglist`.`shorttext` AS `shorttext`,'' AS `?`),100)' (1690) 'BIGINT value is out of range in '100 - ifnull(epglvr(`epg2vdr`.`recordinglist`.`shorttext` AS `shorttext`,'' AS `?`),100)'' [select actor, audio, camera, category, channelid, channelname, country, description, director, duration, episodecompname, episodecomppartname, episodecompshortname, episodelang, eventid, flags, folder, fsk, genre, recgroup, guest, imgid, inuse, job, longdescription, md5path, moderator, music, name, ngenre, numrating, other, owner, path, producer, rating, screenplay, scrinfoepisodeid, scrinfomovieid, scrinfoseriesid, scrmovieid, scrnew, scrseriesepisode, scrseriesid, scrsp, shortreview, shorttext, starttime, state, tipp, title, topic, txtrating, vdruuid, year, 100 - ifNull(epglvr(title, ?), 100), 100 - ifNull(epglvr(shorttext, ?), 100) from recordinglist where  (state <> 'D' or state is null)and epglvr(title, ?) < 47]


    Die verwendete Version ist:

    Code
    /usr/local/bin/epghttpd -v
    
    epghttpd version 1.3.22-GIT157bc80 from 14.02.2023

    Ist das Ding zu alt?


    Die Fehlermeldung an sich stört mich ja nicht so sehr. Andere SQL Meldungen kommen ja auch immer mal vor. Aber hier hängt der ganze Service und das nervt.

    Gruß

    msv

  • was passiert denn wenn du das Statement am SQL Prompt ausführst, dabei die ? gegen den Titel gegen den der Sendung ersetzten:

    Code
    select actor, audio, camera, category, channelid, channelname, country, description, director, duration, episodecompname, episodecomppartname, episodecompshortname, episodelang, eventid, flags, folder, fsk, genre, recgroup, guest, imgid, inuse, job, longdescription, md5path, moderator, music, name, ngenre, numrating, other, owner, path, producer, rating, screenplay, scrinfoepisodeid, scrinfomovieid, scrinfoseriesid, scrmovieid, scrnew, scrseriesepisode, scrseriesid, scrsp, shortreview, shorttext, starttime, state, tipp, title, topic, txtrating, vdruuid, year, 100 - ifNull(epglvr(title, ?), 100), 100 - ifNull(epglvr(shorttext, ?), 100) from recordinglist where  (state <> 'D' or state is null)and epglvr(title, ?) < 47;
  • Bei dem Query kommt mit irgendeinem Titel (z.B. 'Space Night') nur ein leeres Ergebnis zurück. Naja, die Titel sind ja auch nicht in der Tabelle recordinglist vorhanden.


    Aber ich habe noch mal weiter getestet. Nach mehrfachem "rumklicken" auf diversen Titeln in der Magazinseite hing sich das Ding wieder auf. Im Log wieder der bekannte BIGINT-Fehler. Ich habe jetzt mal nicht epghttpd restarted sondern nur den mysql-server (systemctl restart mysql)

    Und sofort gings weiter. Gut, damit kann ich zwar leben aber schön ist das nicht, dass dieser Fehler das Gespann epghttpd und mysql zum Aufhängen bringt. Hier nochmal meine mysql Version unter Debian Bookworm:


    Code
    root@mannitec00:~# mysql -V
    mysql  Ver 15.1 Distrib 10.11.6-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper
  • und welche Server Version?

    Hast du die epglv Funktionen mit der Version gebaut?

  • CKone hast du die selbe MariaDB Version, ich bin noch bei 10.5.18

    nein ich glaube 10.1

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Bin mir im Moment nicht ganz sicher ob der letzte Fehler noch aufgetreten ist nachdem ich epglv zwar neu gebaut und in die DB installiert habe aber den epghtthd noch nicht neu gestartet hatte. Nachdem ich jetzt epghttpd neu restartet habe ist der Fehler nicht mehr aufgetreten (hab alles mögliche im Magazin angeklickt, mehr als 100Mal).


    Ich warte erst mal ab. Vielleicht hat das Neubauen von epglv ja wirklich geholfen.


    Danke

    msv

  • Moin,

    leider ist der Fehler wieder aufgetreten. Ich hab dann mal bei meiner Produktivdatenbank das Logging eingeschaltet. Hab dann den letzten problematischen Aufruf und einen guten von vorher am mysql-Prompt abgesetzt mit folgendem Ergebnis:


    Mit fällt eigentlich kein logischer Unterschied auf außer dass der Titel ein anderer ist.


    Hab jetzt nochmal folgendes gemacht:

    Datenbank gedropt und neu aufgebaut. Fehler tritt immer noch mit dem Statement am mysql-Prompt auf!


    Bin ratlos.... =O

  • Hab noch weiter getestet und folgendes rausgefunden:


    Der Fehler scheint von epglvr her zu kommen:


    Hier der reine Aufruf:

    Also wenn es keinen Shorttext gibt in der Recordinglist gehts schief. Jetzt müsste mal jemand der die Internas von epglvr kennt hier weiter debuggen.

    Warum sich dabei dann ab und zu die Datenbankverbindung aufhängt habe ich nicht herausgefunden. Aber es scheint immer nach solch einem Fehler zu passieren.

  • kann ich reproduzieren, ich sehe es mir an.

    Bei dem letzten Vergleich liefert epglv korrekt 0. nur epglvr berechnet die Prozentuale Abweichung falsch. Sollte einfach zu beheben sein. Interessant das es nur bei dir auftritt

  • Danke!!!


    Nachdem ich dann herausgefunden habe, dass sich im Laufe der Zeit mehrere alte mysqlepglv.so auf meinem System in diversen Mysql Plugindirectorys (entstanden über mehrere Updates der letzten Jahre) befunden hatten, habe ich mal aufgeräumt und alle alten Versionen gelöscht. Kaum hatte ich dann die richtige neue Pluginlib an die richtige Stelle geschoben gings dann auch.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!