[vdr] graphlcd 0.1.2-pre4 segfaults with vdr-1.3.22

Wolfgang Fritz wolfgang.fritz at gmx.net
Sat Mar 5 10:31:26 CET 2005


Sascha Volkenandt wrote:
> Am Freitag, 4. März 2005 20:16 schrieb Wolfgang Fritz:
> 
>>Hi,
>>
>>I am running vdr-1.3.22 with graphlcd 0.1.2-pre4 and sometimes get a
>>segmentation fault in the graphlcd code when stopping a replay with the
>>"exit" key. This happens mostly when I stop replaying a VDR recording,
>>but I've seen this too when I terminate MP3 playback in the MP3 plugin.
>>
>>The following backtrace is from a crash after stopping a VDR reording:
>>
>>#0  cChannel::GetChannelID() const (this=0x0) at channels.h:66
>>66        tChannelID(int Source, int Nid, int Tid, int Sid, int Rid = 0)
>>{ source = Source; nid = Nid; tid = Tid; sid = Sid; rid = Rid; }
>>(gdb) bt
>>#0  cChannel::GetChannelID() const (this=0x0) at channels.h:66
>>#1  0x403790bf in cGraphLCDState::SetChannel(int) (this=0x8960900,
>>    ChannelNumber=0) at state.c:552
> 
> 
> I don't run the plugin, but maybe that helps you:
> 
> In state.c:552 (#1) there is an access to a channel object that is NULL 
> (that's why this is 0x0 in #0). Probably there is only someting like 
> if (channel != NULL) {...}
> missing.
> 

This is not the primary problem. It is caused by a call to
Channels.GetByNumber() with a channel number of 0 in
cGraphLCDState::SetChannel() in #1. Up to now I couldn't find the cause
for this. As a preliminary workaround I inserted a check for
ChannelNumber == 0.

Wolfgang
> Greetings,
> Sascha
> 
> 
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> 





More information about the vdr mailing list