Hi,
ich spiele wieder mit VDR 2.3.8 und dem Plugin restfulapi (letzte git version) herum.
Sobald ich per curl oder wget die Events eines Kanals lade (z.B. mit http://epgcollect:8002/events/C-9999-161-12101.json), erscheint im VDR-Log
Code
vdr: [262] --- begin invalid lock sequence report
vdr: [262] 254 - - - - - - - - - - U
vdr: [262] 254 - W - - - - - - - - L
vdr: [262] 254 - * - - W - - - - - L
vdr: [262] 254 - * - - U - - - - - U
vdr: [262] 254 - U - - - - - - - - U
vdr: [262] 248 - W - - - - - - - - L
vdr: [262] 248 - * - - W - - - - - L
vdr: [262] 248 - * - - U - - - - - U
vdr: [262] 248 - U - - - - - - - - U
vdr: [262] 254 - W - - - - - - - - L
vdr: [262] 254 - * - - W - - - - - L
vdr: [262] 254 - * - - U - - - - - U
vdr: [262] 254 - U - - - - - - - - U
vdr: [262] 262 - R - - - - - - - - L
vdr: [262] 262 - * - - - - - - - - L
vdr: [262] 262 - * - - - - - - - - U
vdr: [262] 262 - * - - R - - - - - L
vdr: [262] 262 - * - - * - - - - - L
vdr: [262] 262 - * - - * - - - - - U
vdr: [262] 262 R * - - * - - - - - L
vdr: [262] 262 invalid lock sequence: 1 Timers
vdr: [262] full backtrace: invalid lock sequence at So. 13.08. 16:03
vdr: [262] /opt/vdr-2.3.8/vdr cStateLock::Lock(cStateKey&, bool, int) at thread.c:734
vdr: [262] /opt/vdr-2.3.8/vdr cTimers::GetTimersRead(cStateKey&, int) at timers.c:822
vdr: [262] /opt/vdr-2.3.8/PLUGINS/lib/libvdr-restfulapi.so.2.3.8 VdrExtension::TimerExists(cEvent const*) calling cTimers_Lock at timers.h:221 at VdrExtension::TimerExists(cEvent const*) at tools.cpp:834
vdr: [262] /opt/vdr-2.3.8/PLUGINS/lib/libvdr-restfulapi.so.2.3.8 JsonEventList::addEvent(cEvent const*) at events.cpp:501
vdr: [262] /opt/vdr-2.3.8/PLUGINS/lib/libvdr-restfulapi.so.2.3.8 EventsResponder::replyEvents(std::ostream&, cxxtools::http::Request&, cxxtools::http::Reply&) at events.cpp:138
vdr: [262] /opt/vdr-2.3.8/PLUGINS/lib/libvdr-restfulapi.so.2.3.8 EventsResponder::reply(std::ostream&, cxxtools::http::Request&, cxxtools::http::Reply&) at events.cpp:27
vdr: [262] /usr/lib/libcxxtools-http.so.9 cxxtools::http::Socket::doReply() at ??:?
vdr: [262] /usr/lib/libcxxtools-http.so.9 cxxtools::http::Socket::onInput(cxxtools::StreamBuffer&) at ??:?
vdr: [262] /usr/lib/libcxxtools-http.so.9 cxxtools::http::Worker::run() at ??:?
vdr: [262] /usr/lib/libcxxtools.so.9 at ??:?
vdr: [262] /lib/x86_64-linux-gnu/libpthread.so.0 at ??:?
vdr: [262] /lib/x86_64-linux-gnu/libc.so.6 clone at ??:?
vdr: [262] --- end invalid lock sequence report
vdr: [262] --- THERE WILL BE NO FURTHER REPORTS UNTIL VDR IS RESTARTED!
Alles anzeigen
Ein Deadlock tritt real auf und der VDR reagiert gar nicht mehr und die CPU Last geht für diese VDR-Instanz durch die Decke. Es hilft an der Stelle nur ein Neustart.
Zabrimus