Hallo,
in "timers.c, cString cTimer::ToDescr(void) const"
tritt ein short dump auf, wenn Channel() "null" zurückgibt. Es dumpt dann bei Channel()->Number() .
Auch wenn ich nicht weiß, wie es dazu kommen konnte. Ist hier passiert. Bei Verwendung von EPG search, und Aufruf der Suchergebnisse. Ich habe es danach noch mal gemacht (gleiche Suche), und da gab es dann keinen Dump mehr.
Dump:
Code
Core was generated by `/usr/bin/vdr'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000000555eff853c in cChannel::Number (this=0x0) at channels.h:178
178 int Number(void) const { return number; }
[Current thread is 1 (Thread 0x7f937fe0e0 (LWP 981596))]
(gdb) bt full
#0 0x000000555eff853c in cChannel::Number (this=0x0) at channels.h:178
No locals.
#1 cTimer::ToDescr (this=this@entry=0x7f84088c60) at timers.c:323
No locals.
#2 0x000000555eff94e8 in cTimer::SetEvent (this=this@entry=0x7f84088c60, Event=Event@entry=0x7fa4c7a9e0) at timers.c:912
No locals.
#3 0x000000555eff9f38 in cTimer::cTimer (this=0x7f84088c60, Event=0x7fa4c7a9e0, FileName=0x7fa4829380 "Tatort: Das Opfer", PatternTimer=0x0) at timers.c:219
Channels = <optimized out>
tstart = 1671494520
tm_r = {tm_sec = 0, tm_min = 47, tm_hour = 2, tm_mday = 20, tm_mon = 11, tm_year = 122, tm_wday = 2, tm_yday = 353, tm_isdst = 0, tm_gmtoff = 3600,
tm_zone = 0x559139f310 "CET"}
Channels_Lock = {stateKey = {stateLock = 0x555f097e88 <cChannels::channels+32>, write = false, state = -1, timedOut = false},
list = 0x555f097e68 <cChannels::channels>}
tstop = 1671500820
time = <optimized out>
Channels_Lock = {stateKey = {stateLock = <optimized out>, write = <optimized out>, state = <optimized out>, timedOut = <optimized out>},
list = <optimized out>}
Channels = <optimized out>
tstart = <optimized out>
tstop = <optimized out>
tm_r = {tm_sec = <optimized out>, tm_min = <optimized out>, tm_hour = <optimized out>, tm_mday = <optimized out>, tm_mon = <optimized out>,
tm_year = <optimized out>, tm_wday = <optimized out>, tm_yday = <optimized out>, tm_isdst = <optimized out>, tm_gmtoff = <optimized out>,
tm_zone = <optimized out>}
time = <optimized out>
MarginStart = <optimized out>
MarginStop = <optimized out>
#4 0x0000007fb9b45928 in cEpgsearchServiceHandler::TranslateResults[abi:cxx11](cSearchResults*) (this=<optimized out>, pCompleteSearchResults=<optimized out>)
at services.c:116
Timer = <optimized out>
hasTimer = <optimized out>
pEvent = 0x7fa4c7a9e0
timerMatch = tmNone
cmdbuf = {_vptr.cString = 0x555f082d98 <vtable for cString+16>,
s = 0x7f84093360 "25:98600:Macht des Geldes:El reino:Genre| Thriller\nKategorie| Spielfilm\nLand| E/F\nJahr| 2018\n\nEin korrupter Politiker kämpft ums
Überleben.\n\nSehr empfehlenswert, Faszinierende, fiebrige Reise in ein"...}
--Type <RET> for more, q to quit, c to continue without paging--
bufStart = "0053", '\000' <repeats 20 times>
eStart = <optimized out>
eStop = <optimized out>
start = 1671493980
Timers = <optimized out>
Channels_Lock = {stateKey = {stateLock = 0x0, write = false, state = 70, timedOut = false}, list = 0x555f097e68 <cChannels::channels>}
shorttext = "El reino"
tm_r = {tm_sec = 0, tm_min = 10, tm_hour = 3, tm_mday = 20, tm_mon = 11, tm_year = 122, tm_wday = 2, tm_yday = 353, tm_isdst = 0, tm_gmtoff = 3600,
tm_zone = 0x559139f310 "CET"}
stop = 1671502200
Timers_Lock = {stateKey = {stateLock = 0x0, write = false, state = 76, timedOut = false}, list = 0x555f0f9190 <cTimers::timers>}
Channels = <optimized out>
channel = <optimized out>
bufEnd = "0310", '\000' <repeats 20 times>
timerMode = <optimized out>
title = "0z\005\204\177\000\000\000\320\b\000\204\177\000\000"
description = "\000\005\000\204\177\000\000\000\000\005\000\204\177\000\000\000\260\360\b\204\177\000\000\000\260\360\b\204\177\000\000\000film\nLand| E/F
\nJahr| 2018\n\nEin korrupter Politiker kämpft ums Überleben.\n\nSehr empfehlenswert, Faszinierende, fiebrige Reise in eine völlig korrupte Welt\n\n\nTipp\n / S".
..
result = 0x7f84062180
Python Exception <class 'gdb.error'> value has been optimized out:
list = std::__cxx11::list
#5 0x0000007fb9b43d74 in cEpgsearchServiceHandler::QuerySearchTimer[abi:cxx11](int) (this=0x7f84006de0, ID=<optimized out>) at services.c:186
list = empty std::__cxx11::list
pCompleteSearchResults = 0x7f84037b00
search = <optimized out>
#6 0x0000007fb98c3c58 in vdrlive::SearchResults::GetByID (this=this@entry=0x7f937fa038, id=25) at epgsearch.cpp:601
service = {handler = std::unique_ptr<cServiceHandler> = {get() = 0x7f84006de0}}
list = empty std::__cxx11::list
#7 0x0000007fb9949238 in (anonymous namespace)::_component_::operator() (this=0x7f4c01cdc0, request=..., reply=..., qparam=...) at searchresults.ecpp:34
display_pictures = <optimized out>
epg_itemS = {m_s = 0x7f84006e00 "\240", m_string_end = 0x1d <error: Cannot access memory at address 0x1d>,
m_buffer_end = 0x1d <error: Cannot access memory at address 0x1d>, m_increaseSize = 495874504051, m_maxSize = 547935462528,
m_name = "\300S\202\271\177\000\000\000\001\000\000\000\000\000\000\000\340\033\000\214\177\000\000\000\000T\202\271\177\000\000\000`\v\000\214\177\000\
000\000\370N\202\271\177\000\000\000\001\000\000\000\377\377\377\377\377\377\377\377\020\000\000\000\000\000\000\000\022", '\000' <repeats 11 times>, "\200\201\00
0\214\177\000\000\000\200\201\000\214\177", '\000' <repeats 11 times>, "P\030\003\214\177\000\000\000\340\340\177\223\177\000\000\000\060\246\177\271\177\000\000\
Alles anzeigen
~ Markus