Ja, das kann ich reproduzieren. Danke, ich werde es mir anschauen.
Fixed auf beiden Branches.
LG,
Jasmin
Ja, das kann ich reproduzieren. Danke, ich werde es mir anschauen.
Fixed auf beiden Branches.
LG,
Jasmin
Fixed auf beiden Branches. ...
Nun baut es wieder.
Hi!
Nachdem jetzt die Umstellungen im Makefile und das Integrieren des OSD Patches abgeschlossen ist, habe ich das Repository zusammen geräumt.
Auf Branch vdr-2.3.x ist jetzt alles verfügbar.
Branch vdr-2.3.x_work ist mein Branch für Erweiterungen zum Test, bevor sie auf den vdr-2.3.x Branch gemerged werden. Dieser Branch wird von mir ev., auch in der Commit History umgeschrieben (wie gerade eben) und muss deshalb beim Updaten mit Vorsicht behandelt werden.
Die anderen Branches (vdr-2.3.x_osd und vdr-2.3.x_osd_work) wurden gelöscht.
Bitte die URLs für die Distributionen entsprechend anpassen. Wenn TAGs gewünscht werden, bitte um Info.
Außerdem bin ich am Überlegen recht bald den master auf 2.3.x umzustellen und den derzeitigen master auf vdr-2.x.x (oder so ähnlich) umzubenennen. Vorher muss ich aber die Lock Reihenfolge fertig machen (ist immer noch falsch !) und das eine Feature mit den inaktiven Such-Timern implementieren.
LG,
Jasmin
Der Branch "vdr-2.3.x_work" compiliert jetzt mit VDR 2.2.0 und Branch "vdr-2.3.x_osd_work" auch. Solltest letzteren verwenden, weil der wird der neue Head.
Ich werde es anscheinend doch schaffen die Kompatibilität zu VDR 2.2.0 aufrecht zu erhalten. Wobei ich derzeit nicht mit VDR 2.2.0 testen kann. Also wundere dich ned, wenn irgendwas nicht funktioniert.
Hat das funktioniert?
Ja, das wäre fein, dann brauch ich das nicht machen.
Gibt es da schon irgendwas?
LG,
Jasmin
Hi!
Ich habe eine neue Version am vdr-2.3.x_work Branch, die beim Bauen nicht so gesprächig ist (kann man mit "VERBOSE=1 make" wieder gesprächig machen).
Und einen Fix für das "gen_version_suffix.h" erzeugen hab ich auch drinnen.
Ganz wichtig sind aber die Lock Order fixes. Ich bin mir da auch nicht sicher, ob das wirklich funktioniert. Also ned erschlagen, wenn was nicht geht.
Ich warte noch auf einen Lock Order "Debugger" von Klaus. Damit sollten wir in allen Plugins alle falschen Reihenfolgen schnell finden können.
LG,
Jasmin
Leider stimmt die Skalierung in der Detailansicht nicht mehr:
[Blockierte Grafik: http://imagizer.imageshack.us/v2/280x200q90/924/4TaaS0.png]
Auch oben, wird "Hole Status ..." nicht mehr korrekt angezeigt.
vdr01_64 live-git # git log -n1
commit 33c2c2f079e6b95a81511bffd87743c9b24e61ee (HEAD -> vdr-2.3.x_work, origin/vdr-2.3.x_work)
Author: Jasmin Jessich <jasmin@anw.at>
Date: Fri May 26 20:19:57 2017 +0200
Improve Makefile printing again
- The VDR Makefile might get an extension and define "Q", It is now
overriden here.
Alles anzeigen
Ich habe den Fehler gefunden, es lag am Browsercache von dem bescheuerten FF!!
Sorry for the Noise.
Als erstes, vielen Dank für die ganze Arbeit die ihr in epgsearch und vdr-live steckt.
Beim vdr-live des VDR version 2.2 gibt es eine kleine Unanehmlichkeit: man kan das EPG eines inaktiven Timers nicht einsehen und ich nehme an, es ist noch das gleiche im aktuellen development branch.
Obwohl ich wegen Klaus Antwort von damals davon ausgehe, dass etwas dagegen zu unternehmen wahrscheinlich immer noch sehr schwierig sein wird, wollte ich es trotzdem hier erwähnen.
Wenn man ein Debian-Paket für live im pbuilder bzw. auf Launchpad baut, schlagen wohl die Befehle fehl, die das LIBDIR bzw. LOCDIR betreten wollen, (weil das Paket vdr nicht installiert ist und LIBDIR und LOCDIR nicht in der Build-Umgebung existieren): https://github.com/jasmin-j/vd…r-2.3.x_work/Makefile#L56
Das hat dann den Effekt, dass die libvdr-live*.so Datei und die Locale-Dateien beim make install nicht in den zuvor von pkg-config ermittelten Pfaden, sondern direkt im DESTDIR landen - wäre es da nicht sinnvoller an der Stelle eine Funktion wie abspath zu verwenden?
$(abspath names…)
For each file name in names return an absolute name that does not contain any . or .. components, nor any repeated path separators (/). Note that, in contrast to realpath function, abspath does not resolve symlinks and does not require the file names to refer to an existing file or directory. Use the wildcard function to test for existence.
So hab mich auch mal an die 2.3.5 rangetraut, leider kann ich das live nicht aufrufen. Grundsätzlich startet das live
wenn ich es aber aufruf < http://192.168.178.23:8008 > passiert nichts.
wenn ich dann wieder auf die 2.2 umstelle geht wieder alles
Jun 3 16:12:13 datenserver systemd[1]: Started Video Disk Recorder.
Jun 3 16:12:13 datenserver vdr: [14554] VDR version 2.3.5 started
Jun 3 16:12:13 datenserver vdr: [14554] codeset is 'UTF-8' - known
Jun 3 16:12:13 datenserver vdr: [14554] loading plugin: /usr/local/lib/vdr/libvdr-live.so.2.3.5
Jun 3 16:12:13 datenserver vdr: [14554] [live] INFO: bindv6only=0
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/setup.conf
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/sources.conf
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/diseqc.conf
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/scr.conf
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/channels.conf
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/svdrphosts.conf
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/remote.conf
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/keymacros.conf
Jun 3 16:12:13 datenserver vdr: [14554] DVB API version is 0x050A (VDR was built with 0x050A)
Jun 3 16:12:13 datenserver vdr: [14554] frontend 0/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard")
Jun 3 16:12:13 datenserver vdr: [14554] frontend 1/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard")
Jun 3 16:12:13 datenserver vdr: [14554] found 2 DVB devices
Jun 3 16:12:13 datenserver vdr: [14554] initializing plugin: live (2.3.1): Live Interactive VDR Environment
Jun 3 16:12:13 datenserver vdr: [14554] setting primary device to 1
Jun 3 16:12:13 datenserver vdr: [14554] device 1 has no MPEG decoder
Jun 3 16:12:13 datenserver vdr: [14554] setting current skin to "lcars"
Jun 3 16:12:13 datenserver vdr: [14554] loading /etc/vdr/themes/lcars-default.theme
Jun 3 16:12:13 datenserver vdr: [14554] starting plugin: live
Jun 3 16:12:13 datenserver vdr: [14554] LIVE: initial file cache has 82 entries and needs 377394 bytes of data!
Jun 3 16:12:13 datenserver vdr: [14564] [live] INFO: attempt to listen on ip = '::'
Jun 3 16:12:13 datenserver vdr: [14564] [live] ERROR: Unable to load cert/key (/etc/vdr/plugins/live/live.pem//etc/vdr/plugins/live/live-key.pem): Datei oder Verzeichnis nicht gefunden
Jun 3 16:12:13 datenserver vdr: [14554] switching to channel 1 S19.2E-1-1101-28106 (Das Erste)
Jun 3 16:12:13 datenserver vdr: [14572] SVDRP listening on port 6419/tcp
Jun 3 16:12:13 datenserver vdr: [14554] ERROR: no OSD provider available - using dummy OSD!
Jun 3 16:12:15 datenserver vdr: [14560] channel 1 (Das Erste) event Sa. 03.06.2017 16:05-17:35 (VPS: 03.06. 16:05) 'Der Winzerkrieg' status 4
Jun 3 16:12:15 datenserver vdr: [14560] channel 28 (BR Fernsehen Süd) event Sa. 03.06.2017 16:00-16:15 (VPS: 03.06. 16:00) 'Rundschau' status 4
Alles anzeigen
svdrphosts
# svdrphosts This file describes a number of host addresses that
# are allowed to connect to the SVDRP port of the Video
# Disk Recorder (VDR) running on this system.
# Syntax:
#
# IP-Address[/Netmask]
#
127.0.0.1 # always accept localhost
#192.168.100.0/24 # any host on the local net
#204.152.189.113 # a specific host
#0.0.0.0/0 # any host on any net (USE THIS WITH CARE!)
192.168.178.0/24 # Euer Netzwerk
Versuch mal live mit dem Parameter '--ip=0.0.0.0' zu starten. Das war auch bei mir das Problem nach einem der letzten Updates.
Christian
Beim Start des VDR sollten eigentlich solche Ausgaben von live kommen:
vdr01_64 ~ # grep "\[live" /log/messages
Jun 03 07:31:01 [vdr] [6549] [live] INFO: validating server ip '192.168.177.52'
Jun 03 07:31:04 [vdr] [6658] [live] INFO: attempt to listen on ip = '192.168.177.52'
vdr01_64 ~ #
Startes Du denn das Plugin nicht mit dem Parameter "ip"?
README:
ZitatStartes Du denn das Plugin nicht mit dem Parameter "ip"?
ehrlich gesagt hab ich noch nie gemacht, und ging trotzdem
aber was soll ich sagen
ZitatVersuch mal live mit dem Parameter '--ip=0.0.0.0'
war die Lösung
danke euch beiden
Mir scheint, da hat sich was geändert. Am 2. Juni habe ich wohl live upgedated, da kam wohl dieses bindv6only dazu. Am 3. Juni habe ich dann die 0.0.0.0 hinzugefügt. Ohne die 0.0.0.0 lauscht live per ip4 nur auf localhost, nicht auf der externen IP. Vorher war die Angabe nicht nötig, da default.
May 29 04:42:43 vdr64 vdr: [14476] [live] INFO: attempt to listen on ip = ''
May 30 04:42:40 vdr64 vdr: [6414] [live] INFO: attempt to listen on ip = ''
May 31 04:42:42 vdr64 vdr: [28363] [live] INFO: attempt to listen on ip = ''
Jun 1 04:42:41 vdr64 vdr: [18731] [live] INFO: attempt to listen on ip = ''
Jun 1 18:56:00 vdr64 vdr: [5673] [live] INFO: attempt to listen on ip = ''
Jun 2 04:42:41 vdr64 vdr: [13928] [live] INFO: attempt to listen on ip = ''
Jun 2 13:58:36 vdr64 vdr: [15391] [live] INFO: bindv6only=0
Jun 2 13:58:37 vdr64 vdr: [15418] [live] INFO: attempt to listen on ip = '::'
Jun 3 07:38:44 vdr64 vdr: [31978] [live] INFO: bindv6only=0
Jun 3 07:38:44 vdr64 vdr: [32003] [live] INFO: attempt to listen on ip = '::'
Jun 3 16:41:45 vdr64 vdr: [21766] [live] INFO: validating server ip '0.0.0.0'
Jun 3 16:41:45 vdr64 vdr: [21793] [live] INFO: attempt to listen on ip = '0.0.0.0'
Alles anzeigen
Christian
Am 2. Juni habe ich wohl live upgedated, da kam wohl dieses bindv6only dazu. Am 3. Juni habe ich dann die 0.0.0.0 hinzugefügt.
Das glaube ich nicht. "bindv6only" kommt nur in setup.cpp vor und ein "git blame setup.cpp" sagt:
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 180) FILE* f = fopen("/proc/sys/net/ipv6/bindv6only", "r");
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 181) if (f) {
118c2aa7 (Rolf Ahrenberg 2011-02-22 00:32:30 +0200 182) bool bindv6only = false;
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 183) int c = fgetc(f);
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 184) if (c != EOF) {
06d41e3e (Dieter Hametner 2013-02-24 00:35:52 +0100 185) bindv6only = ((c - '0') != 0);
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 186) }
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 187) fclose(f);
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 188) f = NULL;
118c2aa7 (Rolf Ahrenberg 2011-02-22 00:32:30 +0200 189) esyslog( "[live] INFO: bindv6only=%d", bindv6only);
118c2aa7 (Rolf Ahrenberg 2011-02-22 00:32:30 +0200 190) // add a default IPv6 listener address
06d41e3e (Dieter Hametner 2013-02-24 00:35:52 +0100 191) m_serverIps.push_back("::");
06d41e3e (Dieter Hametner 2013-02-24 00:35:52 +0100 192) // skip the default IPv4 listener address if the IPv6 one
will be bound also to v4
118c2aa7 (Rolf Ahrenberg 2011-02-22 00:32:30 +0200 193) if (!bindv6only)
118c2aa7 (Rolf Ahrenberg 2011-02-22 00:32:30 +0200 194) return true;
ea605530 (Rolf Ahrenberg 2011-02-15 10:19:06 +0200 195) }
Alles anzeigen
Sprich der Code ist seit 2011 nicht angerührt worden.
Ich kann mich nicht erinnern an der Stelle irgendetwas verändert zu haben.
LG,
Jasmin
PS: Ich arbeite gerade an den Lock fixes, falls es jemanden interessiert.
wäre es da nicht sinnvoller an der Stelle eine Funktion wie abspath zu verwenden?
Hab das mal in commit 99cdbf48 eingebaut. Bitte testen.
LG,
Jasmin
PS: Ich arbeite gerade an den Lock fixes, falls es jemanden interessiert.
Ich habe zwei Lock Order fixes gemacht. So wie ich das jetzt mache, könnte es ev. zu Problemen kommen, wenn zwei Threads sich gegenseitig die Objekte in den Listen raus löschen. Ich will das aber mal so ausprobieren, weil auf diese Art die Lockings kürzer gehalten werden.
Hintergrund: Die Timer Funktion in epgsearch lockt die Timer Liste und da darf keine andere Liste gelockt sein, also muss man vor dem Aufruf alle Locks freigegeben haben.
Bitte testen, die neue Version steht im Git auf Branch vdr-2.3.x_work.
Man sieht mit VDR Version 2.3.6 jetzt Locking Reihenfolge Probleme. Bitte reporten, wenn es noch etwas gibt, was ich nicht gesehen habe.
LG,
Jasmin
Das glaube ich nicht. "bindv6only" kommt nur in setup.cpp vor und ein "git blame setup.cpp" sagt:
Ich glaubs Dir
Nach etwas Recherche habe ich nun rekonstruiert, daß ich am 2. Juni vieles geupdatet habe, unter anderem gcc von 4.x auf 5.4.0.
Dabei habe ich auch libtntnet und cxxtools neu gebaut. Die Version (2.2.1) ist allerdings gleich geblieben.
Nachdem libtnt in setup.cpp ganz in der Nähe von bindv6only auftaucht, könnte sich auf dieser Ebene hier doch was in meinem System geändert haben. Ich hatte zuvor nie einen '[live] INFO: bindv6only=' im log. Kernel ist unverändert, System nicht neu gestartet seit 2 Wochen.
Christian
Selbes Verhalten wie bei Hopsi, habe am Wochenende das Live Plugin aktualisiert und seit dem die Log Modung "INFO: bindv6only...".
Ich muss auch explizit --ip=0.0.0.0 angeben, damit ich Zugriff habe.
Wenn ich zurück auf die ältere Live Version wechsele, dann gibt es diese "INFO: bindv6only..." nicht.
Funktional sieht es sonst sehr gut aus!
Ich bin auch froh, das es wieder eine Anlaufstelle gibt, wo man das Live Plugins findet...
Gruß
Stefan
Wenn ich zurück auf die ältere Live Version wechsele, dann gibt es diese "INFO: bindv6only..." nicht.
Was ist die ältere Version?
Welcher Git Stand?
Irgendwie muss sich dann etwas anderes geändert haben, was ich mir anschauen muss.
Funktional sieht es sonst sehr gut aus!
Bitte immer wieder in SysLog schauen, ob es einen Lock Sequence Error gibt:
Jun 7 00:25:44 vdrjess vdr: [23459] --- begin invalid lock sequence report
Jun 7 00:25:44 vdrjess vdr: [23459] 23441 - R - - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23441 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - W - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - W - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - W - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - W - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - W - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23442 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 - R - - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 R - - - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 - - - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 - R - - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 - * - - R - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 - * - - - - - - - - U
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 R * - - - - - - - - L
Jun 7 00:25:44 vdrjess vdr: [23459] 23459 invalid lock sequence: 1 Timers
Jun 7 00:25:44 vdrjess vdr: [23459] full backtrace:
Jun 7 00:25:46 vdrjess vdr: [23450] CAM 1: doesn't reply to QUERY - only a single channel can be decrypted
Jun 7 00:25:46 vdrjess vdr: [23441] CAM 1: ready, master (AlphaCrypt)
Jun 7 00:25:46 vdrjess vdr: [23459] ./vdr cStateLock::Lock(cStateKey&, bool, int) at thread.c:703
Jun 7 00:25:46 vdrjess vdr: [23459] ./vdr cTimers::GetTimersRead(cStateKey&, int) at timers.c:822
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/local/vdrtest/lib/vdr/plugins/libvdr-live.so.2.3.6 vdrlive::SortedTimers::ReloadTimers(bool) at timers.cpp:
103
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/local/vdrtest/lib/vdr/plugins/libvdr-live.so.2.3.6 vdrlive::SortedTimers::SortedTimers() at timers.cpp:30
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/local/vdrtest/lib/vdr/plugins/libvdr-live.so.2.3.6 vdrlive::TimerManager::TimerManager() calling std::_List
_base<std::pair<cTimer*, std::string>, std::allocator<std::pair<cTimer*, std::string> > >::_M_init() at stl_list.h:386 (discriminator 1) at _List_bas
e at stl_list.h:361 (discriminator 1) at list at stl_list.h:524 (discriminator 1) at vdrlive::TimerManager::TimerManager() at timers.cpp:179 (discrim
inator 1)
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/local/vdrtest/lib/vdr/plugins/libvdr-live.so.2.3.6 vdrlive::LiveTimerManager() at timers.cpp:457
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/local/vdrtest/lib/vdr/plugins/libvdr-live.so.2.3.6 at multischedule.ecpp:366
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/lib/libtntnet.so.12 tnt::Worker::dispatch(tnt::HttpRequest&, tnt::HttpReply&) at ??:?
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/lib/libtntnet.so.12 tnt::Worker::processRequest(tnt::HttpRequest&, std::iostream&, unsigned int) at ??:?
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/lib/libtntnet.so.12 tnt::Worker::run() at ??:?
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/lib/libtntnet.so.12 cxxtools::DetachedThread::exec() at ??:?
Jun 7 00:25:46 vdrjess vdr: [23459] /usr/lib/libcxxtools.so.9 at ??:?
Jun 7 00:25:46 vdrjess vdr: [23459] /lib/x86_64-linux-gnu/libpthread.so.0 at ??:?
Jun 7 00:25:46 vdrjess vdr: [23459] /lib/x86_64-linux-gnu/libc.so.6 clone at ??:?
Jun 7 00:25:46 vdrjess vdr: [23459] --- end invalid lock sequence report
Alles anzeigen
Ich habe einfach noch nicht alle Stellen gefunden, weil man die ja auch reproduzieren muss um das zu beheben. Außerdem spielt hier auch das epgsearch Plugin mit. Wenn das geändert wird, kann es zu einer falschen Lock Reihenfolge auch ohne Code Änderung in Live kommen.
Ich bin auch froh, das es wieder eine Anlaufstelle gibt, wo man das Live Plugins findet...
Ich mache das mal jetzt, aber ob ich es sehr lange machen kann weiß ich ned. Und ich muss noch ein zwei offene Punkte implementieren.
LG,
Jasmin
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!