On 23.01.2015 16:43, Adam Juraszek wrote:
On Fri, Jan 23, 2015 at 11:23 AM, Klaus Schmidinger
<Klaus.Schmidinger@xxxxxxx> wrote:
On 22.01.2015 15:51, Adam Juraszek wrote:
Hello,
I have a few months old system with vdr 2.0.6. VDR is used only as a
backend for xbmc (via xvdr plugin).
Everything works fine except for a few lags which I tracked to VDR
creating new channels every now and then. When I checked the channels
I noticed there are duplicates (there are 36374 channels and many of
them are there about 500 times). I wouldn't be surprised if vdr would
suffer performance problem with such number of channels.
See the setup.conf (not changed in months), syslog and part of
channels (got by LSTC command) and stats:
https://gist.github.com/juriad/2b635ef475a6ddf829ab
Why VDR creates duplicate channels?
Is there problem with my configuration or is it a bug in vdr?
What other information shall I provide?
Looks like VDR doesn't find an existing channel in its Channels list
when it encounters a new version of the SDT. At the moment I have no
idea how that could happen.
Is this a plain vanilla, unpatched version 2.0.6 of VDR?
Klaus
Yes, it is unpatched version (just checked diff againts vdr-2.0.6.tar.bz2).
I tried to use gdb to see what is happening.
Anyway, the backtrace of call of method cChannels::NewChannel is:
#0 cChannels::NewChannel (this=0x76b800 <Channels>,
Transponder=0xf992a0, Name=Name@entry=0x7f74ce78fdf0 "CT 1 HD",
ShortName=ShortName@entry=0x7f74ce790df0 "",
Provider=Provider@entry=0x7f74ce791df0 "Towercom",
Nid=Nid@entry=3, Tid=3234, Sid=4901, Rid=0) at channels.c:1013
#1 0x00000000004d64ee in cSdtFilter::Process (this=0xf9aa40,
Pid=<optimized out>, Tid=<optimized out>, Data=<optimized out>,
Length=<optimized out>) at sdt.c:105
#2 0x00000000004d727c in cSectionHandler::Action (this=0xfa41e0) at
sections.c:211
#3 0x00000000004f8b23 in cThread::StartThread (Thread=0xfa41e0) at thread.c:262
#4 0x00007f74d79920a4 in start_thread (arg=0x7f74ce794700) at
pthread_create.c:309
#5 0x00007f74d63acccd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
I tried to create a core-dump but gdb failed to do so.
Maybe you can add some debug output when a channel named "CT 1 HD" is
encountered in the SDT and then searched for in the Channels list.
Since the channel apparently *is* in the list, the search for it
seems to fail at some point. We need to find out the reason for that.
Klaus
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr