[epgd] nach Update auf mariadb 10.2.15 -> Felddefinitionen werden bei *jedem* Start angemault
-
-
-
das ist beruhigend!
Dann hatte wohl eine die Idee die Ausgabe von
Codeselect table_schema, column_name, column_type, column_comment, data_type, is_nullable, character_maximum_length, column_default, numeric_precision from information_schema.columns where table_name = 'timers' and column_name = 'state';
aufzuhübschen :o
Bekommst du auch hier bei varchar x oder varchar1 Feldern wie state die einfachen Hochkommata angezeigt?
CodeMariaDB [epg2vdr]> select id, state, file from timers; +-----+-------+----------------------------------------------------------------------+ | id | state | file | +-----+-------+----------------------------------------------------------------------+ | 565 | E | Death in Paradise~01x03 - 003. Der Voodoo-Zauber | | 629 | E | MacGyver~?x? - ?. Von den Toten auferstanden | | 641 | E | Death in Paradise~08x01 - 057. Der Tote im Bus | | 642 | E | Death in Paradise~08x02 - 058. Tierische Rache | | 644 | E | Death in Paradise~08x04 - 060. Bittere Bohnen |
-
-
ggf war es noch zu früh und der Timer noch nicht übernommen, wie hast du den angelegt?
Ab einfachsten im WEBIF des epgd dann ist er sofort in der Tabelle
-
den Timer habe ich über Live angelegt. Mit WEBIF angelegtem Timer habe ich eine Ausgabe. Nein, kein Hochkomma.
-
okay dann schlägt das nur in der Tabelle mit den Tabellenbeschreibungen zu
ich bastle mal was
-
versuch es nochmal bitte
-
-
-
Mir ist gerade aufgefallen, das gleiche Problem ist auch noch in epghttpd.
CodeFeb 10 18:38:52 VDR-2004-Dev epghttpd: Calling mysql_init(10850) Feb 10 18:38:52 VDR-2004-Dev epghttpd: Info: Definition of field 'timers.STATE' modified, try to alter table Feb 10 18:38:52 VDR-2004-Dev epghttpd: Execute [alter table timers modify column state VARCHAR(1) comment '\'D\'eleted, \'R\'unning, \'F\'inished' default 'u'] Feb 10 18:38:52 VDR-2004-Dev epghttpd: Info: Definition of field 'timers.ACTION' modified, try to alter table Feb 10 18:38:52 VDR-2004-Dev epghttpd: Execute [alter table timers modify column action VARCHAR(1) comment '' default 'a'] Feb 10 18:38:52 VDR-2004-Dev epghttpd: Starting http server …
Außerdem crashed der epghttpd beim Beenden. Scheint wohl an der Python Version zu liegen, unter Ubuntu 18.04 besteht das Problem nicht.
Code
Alles anzeigenFeb 10 18:22:51 VDR-2004-Dev epghttpd: Shutdown triggered with signal 15 Feb 10 18:22:51 VDR-2004-Dev systemd[1]: Stopping EPG HTTP Daemon that provides a web interface... Feb 10 18:22:51 VDR-2004-Dev epghttpd: Closing mysql connection and calling mysql_thread_end(4645) Feb 10 18:22:51 VDR-2004-Dev epghttpd: Closing mysql connection and calling mysql_thread_end(4645) Feb 10 18:22:51 VDR-2004-Dev epghttpd: Info: Released the last usage of mysql_lib, calling mysql_library_end() now Feb 10 18:22:51 VDR-2004-Dev epghttpd: normal exit Feb 10 18:22:51 VDR-2004-Dev epghttpd: Calling sd_notify(STOPPING=1$) Feb 10 18:22:51 VDR-2004-Dev kernel: [1072044.427882] epghttpd[18272]: segfault at b8 ip 00007f7466ba40e4 sp 00007ffeb12a2320 error 4 in libpython3.7m.so.1.0[7f7466a05000+216000] Feb 10 18:22:51 VDR-2004-Dev kernel: [1072044.427886] Code: 00 00 00 00 00 90 41 55 41 54 55 48 89 fd 53 48 83 ec 08 4c 8b 67 10 e8 2a 24 f3 ff 48 8b 05 8b ab 21 00 4c 8b a8 c8 05 00 00 <41> 8b 85 b8 00 00 00 83 f8 31 0f 8f bc 00 00 00 83 c0 01 41 89 85 Feb 10 18:22:51 VDR-2004-Dev systemd[1]: epghttpd.service: Main process exited, code=killed, status=11/SEGV Feb 10 18:22:51 VDR-2004-Dev systemd[1]: epghttpd.service: Failed with result 'signal'. Feb 10 18:22:51 VDR-2004-Dev systemd[1]: Stopped EPG HTTP Daemon that provides a web interface.
-
Bei mir sind die Fehlermeldungen im Log raus. Ich sehe aber im epghttpd auch keine Fehler mehr.
Vielen Dank
dile
-
Sorry, ich ziehe meine epghttpd Problem Beschreibung auch wieder zurück. Ich habe mir durch apt-get upgrade unbemerkt den Patch wieder überschrieben. Aber der Crash beim Beenden ist geblieben.
-
Scheint wohl an der Python Version zu liegen, unter Ubuntu 18.04 besteht das Problem nicht.
Die Pakete für bionic werden IIRC noch gegen Python 2.7 gebaut.
Ich kann es unter Arch Linux ARM mit Python 3.8 nachvollziehen und versuche herauszufinden, wo es da genau (vermutlich im Destructor) knallt.
-
Das sieht so aus, als würde der Destructor Python::~Python() (https://projects.vdr-developer…it/tree/lib/python.c#n201) mehrfach aufgerufen und beim zweiten Mal knallt es in Python::exit(), wenn der Refcount für pFunc verringert werden soll, das Objekt aber vermutlich schon vom Garbage Collector erwischt wurde.
Hier hilft es, wenn ich die Zeile https://projects.vdr-developer…mon.git/tree/httpd.c#n212 auskommentiere, wobei mir nicht ganz klar ist, warum der Destructor da automatisch aufgerufen wird, da das Objekt ja extra mit new erstellt wurde (https://projects.vdr-developer…mon.git/tree/httpd.c#n184)...
-
Ah, der zweite Aufruf des Dekonstruktor kommt aus https://projects.vdr-developer…ree/lib/searchtimer.c#n86 - aber warum gibt es dann zum Crash? Räumt Py_Finalize(Ex) da eventuell PyObjects aus der anderen Instanz der Klasse Python ab, weil es eigentlich nur einen globalen Interpreter gibt (https://docs.python.org/3.8/c-…l#sub-interpreter-support)?
Eigentlich würde doch eine einzige Instanz von Python genügen, da wird ja eh immer das selbe Python-Modul geladen...
-
-
Ich habe gerade epgd und epg2vdr auf die aktuelle Version gebracht.
Bei ersten Start von epgd ist mir die folgende Meldung aufgefallen:
Code
Alles anzeigenChecking table 'recordinglist' Feb 18 12:37:09 europa epgd[6595]: Info: Missing field 'recordinglist.GROUP', try to alter table Feb 18 12:37:09 europa epgd[6595]: Execute [alter table recordinglist add column recgroup VARCHAR(100) comment 'category/genre group (for menu)' after job] Feb 18 12:37:11 europa epgd[6595]: Info: Missing field 'recordinglist.NGENRE', try to alter table Feb 18 12:37:11 europa epgd[6595]: Execute [alter table recordinglist add column ngenre VARCHAR(50) comment 'normalized genre (for menu)' after recgroup] Feb 18 12:37:12 europa epgd[6595]: Checking table 'searchtimers' Feb 18 12:37:12 europa epgd[6595]: Checking table 'series' Feb 18 12:37:12 europa epgd[6595]: Checking table 'series_actor' Feb 18 12:37:12 europa epgd[6595]: Checking table 'series_episode' Feb 18 12:37:12 europa epgd[6595]: Checking table 'series_media' Feb 18 12:37:13 europa epgd[6595]: Checking table 'snapshot' Feb 18 12:37:13 europa epgd[6595]: Checking table 'timers' Feb 18 12:37:13 europa epgd[6595]: Info: Missing field 'timers.EVTSTARTTIME', try to alter table Feb 18 12:37:13 europa epgd[6595]: Execute [alter table timers add column evtstarttime INT(10) comment 'start time of the event, if any' after channelid]
Nachdem ich epgd nochmal neu gestartet habe waren die Meldung aber weg.
Dann habe ich epg2vdr auf den neusten Stand gebraucht und erhalte dort bei jedem Start des VDR mehrfach die Meldung:
Codeepg2vdr: Fatal: Missing definition of field 'timers.EVTSTARTTIME' in dictionary! epg2vdr: Fatal: Field 'timers.EVTSTARTTIME' not defined (missing in dictionary)
Gruß dile
-
zu 1) das alter ist normal da passt der epgd die Tabelle an.
zu 2) sieht aus als wäre die epg.dat des Plugins nicht mit aktualisiert worden.
Gerade nochmal geschaut im git ist die richtige:
https://github.com/horchi/vdr-…ster/configs/epg.dat#L614 -
Stimmt hab die epg.dat vergessen.
Jetzt sind die Meldungen weg.
Vielen Dank
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!