Hallo,
ich bekomme sporadisch einen Crash beim Aufruf von "Timer" in VDR Live.
Mein System basiert auf den Quelldateien von yavdr repository experimental und läuft unter Ubuntu 18.04.
VDR
vdr (2.4.0/2.4.0) - The Video Disk Recorder
conflictcheckonly (0.0.1) - Direct access to epgsearch's conflict check menu
dynamite (0.3.0) - attach/detach devices on the fly
epg2vdr (1.1.98-GIT) - epg2vdr plugin
epgsearch (2.4.0) - search the EPG for repeats and more
epgsearchonly (0.0.1) - Direct access to epgsearch's search menu
epgtableid0 (2.4.0) - EPG handler for events with table id 0x00
hello (2.4.0) - A friendly greeting
live (2.3.1) - Live Interactive VDR Environment
osddemo (2.4.0) - Demo of arbitrary OSD setup
pictures (2.4.0) - A simple picture viewer
quickepgsearch (0.0.1) - Quick search for broadcasts
satip (2.4.0) - SAT>IP Devices
skincurses (2.4.0) - A text only skin
status (2.4.0) - Status monitor test
svccli (2.4.0) - Service demo client
svcsvr (2.4.0) - Service demo server
svdrpdemo (2.4.0) - How to add SVDRP support to a plugin
Hier der Backtrace vom Crash:
Backtrace
(gdb) bt full
#0 cSchedule::DecNumTimers (this=0x6567007565640302) at epg.c:954
No locals.
#1 0x00005586ed87543b in cEvent::DecNumTimers (this=0x7f8e209bb3b0) at epg.c:270
No locals.
#2 0x00005586ed8fa923 in cTimer::~cTimer (this=0x7f8ddc0165a0, __in_chrg=<optimized out>) at timers.c:139
No locals.
#3 0x00007f8e2bd9edb5 in __gnu_cxx::new_allocator<std::_List_node<cTimer> >::destroy<cTimer> (this=<optimized out>, __p=<optimized out>)
at /usr/include/c++/7/ext/new_allocator.h:140
No locals.
#4 std::allocator_traits<std::allocator<std::_List_node<cTimer> > >::destroy<cTimer> (__a=..., __p=<optimized out>) at /usr/include/c++/7/bits/alloc_traits.h:487
No locals.
#5 std::__cxx11::_List_base<cTimer, std::allocator<cTimer> >::_M_clear (this=0x7f8e2c0db010 <vdrlive::LiveTimerManager()::instance+48>)
at /usr/include/c++/7/bits/list.tcc:76
__tmp = <optimized out>
__val = <optimized out>
__tmp = <optimized out>
__val = <optimized out>
__cur = <optimized out>
__cur = <optimized out>
__tmp = <optimized out>
__val = <optimized out>
#6 std::__cxx11::list<cTimer, std::allocator<cTimer> >::clear (this=0x7f8e2c0db010 <vdrlive::LiveTimerManager()::instance+48>)
at /usr/include/c++/7/bits/stl_list.h:1406
No locals.
#7 vdrlive::SortedTimers::ReloadTimers (this=this@entry=0x7f8e2c0db010 <vdrlive::LiveTimerManager()::instance+48>, initial=initial@entry=false) at timers.cpp:99
No locals.
#8 0x00007f8e2bdffc50 in vdrlive::TimerManager::DoReloadTimers (this=0x7f8e2c0dafe0 <vdrlive::LiveTimerManager()::instance>) at ../timers.h:56
No locals.
#9 (anonymous namespace)::_component_::operator() (this=0x7f8dfc019500, request=..., reply=..., qparam=...) at timers.ecpp:36
spoint = {active = true, reply = @0x7f8e157f6bb0, pos = 0}
timersLock = {mutex = 0x7f8e2c0dafe0 <vdrlive::LiveTimerManager()::instance>, locked = true}
timers = <optimized out>
previousDay = "\020$\204\n\216\177\000\000\300!\204\n\216\177\000\000\200\n\000 \216\177", '\000' <repeats 26 times>, "Ф\005\061\216\177\000\000\030\243\005\061\216\177", '\000' <repeats 50 times>, "`e\356\355\206U", '\000' <repeats 82 times>...
_cxxtools_tracer = {_impl = 0x0}
data = {dataObject = 0x7f8e2be88660 <incomplete sequence \310>}
timerid = ""
action = ""
logged_in_pointer = <optimized out>
logged_in = <optimized out>
timer_pointer = 0x7f8e0401f4a0
timer = @0x7f8e0401f4a0: 0x0
timerNotifier_pointer = 0x7f8de00077e0
---Type <return> to continue, or q <return> to quit---
timerNotifier = @0x7f8de00077e0: {_vptr.TimerConflictNotifier = 0x7f8e2c0d4f00 <vtable for vdrlive::TimerConflictNotifier+16>, static CHECKINTERVAL = 5,
lastCheck = 0, lastTimerModification = 0, conflicts = std::tr1::shared_ptr<vdrlive::TimerConflicts> (empty) = {get() = 0x0}}
pageTitle_pointer = 0x7f8e0400d7f0
pageTitle = "Timer"
r = <optimized out>
r = <optimized out>
r = <optimized out>
r = <optimized out>
#10 0x00007f8e2bb192a6 in tnt::Worker::dispatch(tnt::HttpRequest&, tnt::HttpReply&) () from /usr/lib/libtntnet.so.12
No symbol table info available.
#11 0x00007f8e2bb1a53a in tnt::Worker::processRequest(tnt::HttpRequest&, std::iostream&, unsigned int) () from /usr/lib/libtntnet.so.12
No symbol table info available.
#12 0x00007f8e2bb1b1cb in tnt::Worker::run() () from /usr/lib/libtntnet.so.12
No symbol table info available.
#13 0x00007f8e2bb1bf0a in cxxtools::DetachedThread::exec() () from /usr/lib/libtntnet.so.12
No symbol table info available.
#14 0x00007f8e2b8256a4 in ?? () from /usr/lib/libcxxtools.so.9
No symbol table info available.
#15 0x00007f8e31dfa6db in start_thread (arg=0x7f8e157fa700) at pthread_create.c:463
pd = 0x7f8e157fa700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140248222770944, 7936837542506501035, 140248222768960, 0, 140248038516800, 140248239553728, -7982237476102761557,
-7982300422334213205}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#16 0x00007f8e3045588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals
Ich habe das Live Plugin in Verdacht, da sich der Fehler reproduzieren lasst, wenn man in Live nur oft genug auf "Timer" klickt. Hier ist mein Wissen aber am Ende, vielleicht kann sich das mal einer der Entwickler ansehen.
Danke
Thomas