Hallo zusammen,
ich bin in folgenden segfault gelaufen. Iirc hatte ich das schonmal, weiß aber nicht, wie ich das reproduzieren kann.
Code
Thread 4 "device 1 sectio" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xfffff0e70170 (LWP 10457)]
0x0000aaaaaac05dc8 in cListBase::Sort (this=this@entry=0xffffe5a2da50)
at tools.c:2296
--Type <RET> for more, q to quit, c to continue without paging--
2296 object = object->Next();
(gdb) bt
#0 0x0000aaaaaac05dc8 in cListBase::Sort() (this=this@entry=0xffffe5a2da50)
at tools.c:2296
#1 0x0000aaaaaab793c0 in cSchedule::Sort() (this=this@entry=0xffffe5a2da20)
at epg.c:1056
#2 0x0000aaaaaab79890 in cEpgHandlers::SortSchedule(cSchedule*)
(this=<optimized out>, Schedule=Schedule@entry=0xffffe5a2da20)
at epg.c:1535
#3 0x0000aaaaaab726fc in cEIT::cEIT(cSectionSyncerHash&, int, unsigned char, unsigned char const*)
(this=0xfffff0e6e810, SectionSyncerHash=..., Source=<optimized out>, Tid=<optimized out>, Data=<optimized out>) at eit.c:360
#4 0x0000aaaaaab73f24 in cEitFilter::Process(unsigned short, unsigned char, unsigned char const*, int)
(this=0xaaaaaadd1d60, Pid=<optimized out>, Tid=<optimized out>, Data=0xfffff0e6e920 "O\361fn\266\303\001\001", <incomplete sequence \375>, Length=<optimized out>) at eit.c:453
#5 0x0000aaaaaabcef30 in cSectionHandler::Action() (this=0xaaaaaaf502a0)
at sections.c:211
#6 0x0000aaaaaabf75e0 in cThread::StartThread(cThread*)
(Thread=0xaaaaaaf502a0) at thread.c:293
#7 0x0000fffff7f567e4 in start_thread (arg=0xffffffffef0f)
at pthread_create.c:486
#8 0x0000fffff7aeaadc in thread_start ()
--Type <RET> for more, q to quit, c to continue without paging--
clone.S:78
(gdb) bt full
#0 0x0000aaaaaac05dc8 in cListBase::Sort() (this=this@entry=0xffffe5a2da50)
at tools.c:2296
n = 723
a = 0xffffdc6c8440
object = 0x5555555555555555
i = <optimized out>
#1 0x0000aaaaaab793c0 in cSchedule::Sort() (this=this@entry=0xffffe5a2da20)
at epg.c:1056
#2 0x0000aaaaaab79890 in cEpgHandlers::SortSchedule(cSchedule*)
(this=<optimized out>, Schedule=Schedule@entry=0xffffe5a2da20)
at epg.c:1535
#3 0x0000aaaaaab726fc in cEIT::cEIT(cSectionSyncerHash&, int, unsigned char, unsigned char const*)
(this=0xfffff0e6e810, SectionSyncerHash=..., Source=<optimized out>, Tid=<optimized out>, Data=<optimized out>) at eit.c:360
HashId = <optimized out>
ChannelsModified = 208
pSchedule = <optimized out>
Modified = true
Now = 1616497544
SegmentEnd = 1616501100
SchedulesStateKey =
{stateLock = 0xaaaaaac8c980 <cSchedules::schedules+32>, write = true, state = -1, timedOut = false}
Schedules = <optimized out>
handledExternally = <optimized out>
Empty = false
LingerLimit = <optimized out>
Process = true
ChannelsStateKey =
{stateLock = 0xaaaaaac8ab38 <cChannels::channels+32>, write = true, state = -1, timedOut = false}
Channels = <optimized out>
Channel = <optimized out>
SegmentStart = 0
t =
{tm_sec = 0, tm_min = 45, tm_hour = 12, tm_mday = 23, tm_mon = 2, tm_year = 121, tm_wday = 2, tm_yday = 81, tm_isdst = 0, tm_gmtoff = 3600, tm_zone = 0xaaaaaad08ec0 "CET"}
SiEitEvent =
{<SI::LoopElement> = {<SI::Object> = {<SI::Parsable> = {_vptr.Parsable = 0xaaaaaac85e50 <vtable for SI::EIT::Event+16>, parsed = true}, data = {data_ = 0xffffdc6bcdd0, off = 14}}, <No data fields>}, eventDescriptors = {<SI::Loop> = {<SI::VariableLengthPart> = {<SI::Object> = {<SI::Parsable> = {_vptr.Parsable = 0xaaaaaac7f8d0 <vtable for SI::DescriptorLoop+16>, parsed = false}, data = {data_ = 0xffffdc6bcdd0, off = 26}}, length = 331}, <No data fields>}, domain = SI::SI}, s = 0xfffff0e6e92e}
SectionSyncerEntry = <optimized out>
channelID = <optimized out>
#4 0x0000aaaaaab73f24 in cEitFilter::Process(unsigned short, unsigned char, unsigned char const*, int)
(this=0xaaaaaadd1d60, Pid=<optimized out>, Tid=<optimized out>, Data=0xfffff0e6e920 "O\361fn\266\303\001\001", <incomplete sequence \375>, Length=<optimized--Type <RET> for more, q to quit, c to continue without paging--
out>) at eit.c:453
EIT =
{<SI::EIT> = {<SI::NumberedSection> = {<SI::CRCSection> = {<SI::Section> = {<SI::Object> = {<SI::Parsable> = {_vptr.Parsable = 0xaaaaaac7f930 <vtable for cEIT+16>, parsed = true}, data = {data_ = 0xffffdc6bcdd0, off = 0}}, <No data fields>}, <No data fields>}, <No data fields>}, eventLoop = {<SI::Loop> = {<SI::VariableLengthPart> = {<SI::Object> = {<SI::Parsable> = {_vptr.Parsable = 0xaaaaaac7f900 <vtable for SI::StructureLoop<SI::EIT::Event>+16>, parsed = false}, data = {data_ = 0xffffdc6bcdd0, off = 14}}, length = 343}, <No data fields>}, <No data fields>}, s = 0xfffff0e6e920}, <No data fields>}
MutexLock = {mutex = 0xaaaaaadd1e18, locked = true}
#5 0x0000aaaaaabcef30 in cSectionHandler::Action() (this=0xaaaaaaf502a0)
at sections.c:211
fi = 0xaaaaaadd1d60
pid = 25972
tid = 79
len = 1751345522
buf = "O\361fn\266\303\001\001\003\375\000\001\001O@l\347\240\021E\000\000 \000!KM\033deu\f\005WDR aktuell\n\005mit SportN\205\000deu\000\177\005Das Nachrichtenmagazin f\374r Nordrhein-Westfalen - mit Berichten, Reportagen, Nachrichten und Interviews aus unserem Bundesland.T\002 \000i\003\373\233-P"...
r = <optimized out>
fh = <optimized out>
ThreadLock = {thread = 0xaaaaaaf502a0, locked = true}
i = <optimized out>
DeviceHasLock = true
NumFilters = <optimized out>
pfd = 0xfffff0e6e860
oldStatusCount = 53249
#6 0x0000aaaaaabf75e0 in cThread::StartThread(cThread*)
(Thread=0xaaaaaaf502a0) at thread.c:293
#7 0x0000fffff7f567e4 in start_thread (arg=0xffffffffef0f)
at pthread_create.c:486
ret = <optimized out>
pd = 0xffffffffef0f
unwind_buf =
{cancel_jmp_buf = {{jmp_buf = {281474723414384, 281474976706320, 281474976706318, 281474976706319, 281474723414384, 281474841939968, 281474835474992, 281474723414576, 281474976706320, 281474841939968, 281474723412320, 12931518036006434343, 0, 12931518035921725855, 187649985836400, 187649989345952, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#8 0x0000fffff7aeaadc in thread_start ()
at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
Display More
System ist arm64 mit VDR 2.5.1, softhddevice-drm (mit gles), skindesigner und streamdev-client. Es passierte nachdem ich meine Kanäle durchgeschalten hatte und ungefähr von Kanal 250 wieder auf Kanal 1 (Das Erste HD) schalten wollte.
Hat einer Idee, ob das am VDR core liegt oder meine Plugins da Ärger machen. Auf den ersten Blick scheint mir was mit VDR's EPG handling nicht zu stimmen.
Danke und Gruß
Andreas