Message ID | 2a954dbc0511011029y7b5f7c08m@mail.gmail.com |
---|---|
State | New |
Headers |
Received: from nproxy.gmail.com ([64.233.182.198]) by www.linuxtv.org with esmtp (Exim 4.50) id 1EX0uY-0004SH-0D for vdr@linuxtv.org; Tue, 01 Nov 2005 19:31:06 +0100 Received: by nproxy.gmail.com with SMTP id x29so380806nfb for <vdr@linuxtv.org>; Tue, 01 Nov 2005 10:29:29 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=TDRGGubcGDvgspibmjJvDU1/MDOW4tzMwN5vWubDeiDLZr+E8xtPab/jmS8xchGAtBuiVAdoq3BWTwYE7W881EFqv5cu7LOEtyFagnp6wHAw7MKCqMshd1IWYUNyZTyPBVzP9zBRMHRBVSz6DHr2NM7G2bvM0CGUkqKQ5Kkj3Bo= Received: by 10.49.1.16 with SMTP id d16mr200324nfi; Tue, 01 Nov 2005 10:29:28 -0800 (PST) Received: by 10.48.30.14 with HTTP; Tue, 1 Nov 2005 10:29:28 -0800 (PST) Message-ID: <2a954dbc0511011029y7b5f7c08m@mail.gmail.com> Date: Tue, 1 Nov 2005 19:29:28 +0100 From: Joachim Wilke <joachim.wilke@gmail.com> To: Klaus Schmidinger's VDR <vdr@linuxtv.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: [vdr] vdr 1.3.35 crashing when leaving a recording at the end X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Klaus Schmidinger's VDR <vdr@linuxtv.org> List-Id: Klaus Schmidinger's VDR <vdr.linuxtv.org> List-Unsubscribe: <http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr>, <mailto:vdr-request@linuxtv.org?subject=unsubscribe> List-Archive: <http://www.linuxtv.org/pipermail/vdr> List-Post: <mailto:vdr@linuxtv.org> List-Help: <mailto:vdr-request@linuxtv.org?subject=help> List-Subscribe: <http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr>, <mailto:vdr-request@linuxtv.org?subject=subscribe> X-List-Received-Date: Tue, 01 Nov 2005 18:31:06 -0000 Status: O X-Status: X-Keywords: X-UID: 5771 |
Commit Message
Joachim Wilke
Nov. 1, 2005, 6:29 p.m. UTC
Hi everyone, i have experienced some strange behaviour of my plain vanilla vdr. When vdr reaches the end of a replay it segfaults. Core file analysis showed the following backtrace: #0 cUnbufferedFile::Seek(long, int) (this=0x0, Offset=0, Whence=0) at tools.c:884 #1 0x080dab2c in cFileName::SetOffset(int, int) (this=0xb56a1540, Number=3, Offset=0) at recording.c:1345 #2 0x080dac5d in cFileName::NextFile() (this=0x0) at recording.c:1358 #3 0x0809d8e1 in cDvbPlayer::NextFile(unsigned char, int) (this=0xb56a1540, FileNumber=64 '@', FileOffset=0) at dvbplayer.c:306 #4 0x0809db67 in cDvbPlayer::Action() (this=0x3) at thread.h:94 #5 0x080fce56 in cThread::StartThread(cThread*) (Thread=0x3) at thread.c:234 #6 0xb7fbab63 in start_thread () from /lib/tls/libpthread.so.0 It seems that vdr tries to access a reference to an cUbufferedFile object in cFileName::SetOffset which is a null pointer. The following quick and dirty hack solved the crash, but as I don't know this code deep enough it may have other side effects. } Regards, Joachim.
Comments
Joachim Wilke wrote: > Hi everyone, > > i have experienced some strange behaviour of my plain vanilla vdr. > When vdr reaches the end of a replay it segfaults. Core file analysis > showed the following backtrace: > > #0 cUnbufferedFile::Seek(long, int) (this=0x0, Offset=0, Whence=0) at > tools.c:884 > #1 0x080dab2c in cFileName::SetOffset(int, int) (this=0xb56a1540, > Number=3, Offset=0) at recording.c:1345 > #2 0x080dac5d in cFileName::NextFile() (this=0x0) at recording.c:1358 > #3 0x0809d8e1 in cDvbPlayer::NextFile(unsigned char, int) > (this=0xb56a1540, FileNumber=64 '@', FileOffset=0) at dvbplayer.c:306 > #4 0x0809db67 in cDvbPlayer::Action() (this=0x3) at thread.h:94 > #5 0x080fce56 in cThread::StartThread(cThread*) (Thread=0x3) at thread.c:234 > #6 0xb7fbab63 in start_thread () from /lib/tls/libpthread.so.0 > > It seems that vdr tries to access a reference to an cUbufferedFile > object in cFileName::SetOffset which is a null pointer. The following > quick and dirty hack solved the crash, but as I don't know this code > deep enough it may have other side effects. > > --- recording.c.sav Mon Oct 31 13:27:58 2005 > +++ recording.c Tue Nov 1 19:20:27 2005 > @@ -1342,7 +1342,7 @@ cUnbufferedFile *cFileName::SetOffset(in > // found a non existing file suffix > } > if (Open() >= 0) { > - if (!record && Offset >= 0 && file->Seek(Offset, SEEK_SET) != Offset) { > + if (!record && Offset >= 0 && file && file->Seek(Offset, > SEEK_SET) != Offset) { > LOG_ERROR_STR(fileName); > return NULL; > } > > Regards, > Joachim. I'd say this isn't just a "quick and dirty hack", it's the actual fix. Before using cUbufferedFile the lseek() just failed when the file handle was -1. Now the pointer is NULL in than case, so the check is necessary. Thanks for spotting. Klaus
Hi @ll, now I've got a second problem after i ensured that my FF card is broken: Now I try to get my output via na old Hollywood+ card. But I don't know if I'm using a wrong cable or if it isn't working. When my (c't)VDR starts the TV is flickering a short time (when the drivers for the Hollywood Plus card are loaded). But when this is done the screen stays black. I installed the Hollywood card simply by apt-get install vdr-plugin-dxr3 ... Now is my question: do I have to tell VDR explicitly to use the Hollywood card instead of my (semi-broken) FF card? Or am I using the wrong cable so that it's not possible to display anything? Any hint? Would be thankful for any help! Christian
Now I tried to connect an old VGA monitor at my Hollywood card. But it also stays black ... ??!??! Christian Christian Balzer schrieb: > Hi @ll, > > now I've got a second problem after i ensured that my FF card is > broken: Now I try to get my output via na old Hollywood+ card. But I > don't know if I'm using a wrong cable or if it isn't working. > When my (c't)VDR starts the TV is flickering a short time (when the > drivers for the Hollywood Plus card are loaded). But when this is done > the screen stays black. > I installed the Hollywood card simply by apt-get install > vdr-plugin-dxr3 ... > Now is my question: do I have to tell VDR explicitly to use the > Hollywood card instead of my (semi-broken) FF card? Or am I using the > wrong cable so that it's not possible to display anything? > > Any hint? Would be thankful for any help! > > Christian > > _______________________________________________ > vdr mailing list > vdr@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr > >
On Tue, 01 Nov 2005 20:30:04 +0100 Christian Balzer <christian-balzer@gmx.de> wrote: > Hi @ll, > > now I've got a second problem after i ensured that my FF card is broken: > Now I try to get my output via na old Hollywood+ card. But I don't know > if I'm using a wrong cable or if it isn't working. > When my (c't)VDR starts the TV is flickering a short time (when the > drivers for the Hollywood Plus card are loaded). But when this is done > the screen stays black. > I installed the Hollywood card simply by apt-get install vdr-plugin-dxr3 ... > Now is my question: do I have to tell VDR explicitly to use the > Hollywood card instead of my (semi-broken) FF card? Or am I using the > wrong cable so that it's not possible to display anything? > > Any hint? Would be thankful for any help! > > Christian Have you changed the primary device setting to point to the Hollywood+ in VDR setup and are you running vdr with the dxr3 plugin (-Pdxr3)? If you only have one FF card, the primary device should be 2, unless I remember incorrectly (1 is the FF card). You can also test the Hollywood+ card with MPlayer. There are various parameters that can be given to the em8300 and other dxr3 modules. You need to read the documentation at the dxr3 project SourceForge page and within the source code package to get an idea of the possible problems and solutions. Incorrect parameter values can cause various defects to the picture and it is easier to test different settings with MPlayer. -- Niko Mikkilä
On Tuesday 01 November 2005 20:30, Christian Balzer wrote:
> [...]
Just a side note: Please use the "New Message" button when you create a new
message.
Greetings,
Sascha
Hi Niko, first of all: thanks for the fast answer. second a dum question: where can I change the primary device? I found various discussions about the primary device but i didn't find anything about where to set this. In which configure file is this done??? Christian Niko Mikkila schrieb: >On Tue, 01 Nov 2005 20:30:04 +0100 >Christian Balzer <christian-balzer@gmx.de> wrote: > > > >>Hi @ll, >> >>now I've got a second problem after i ensured that my FF card is broken: >>Now I try to get my output via na old Hollywood+ card. But I don't know >>if I'm using a wrong cable or if it isn't working. >>When my (c't)VDR starts the TV is flickering a short time (when the >>drivers for the Hollywood Plus card are loaded). But when this is done >>the screen stays black. >>I installed the Hollywood card simply by apt-get install vdr-plugin-dxr3 ... >>Now is my question: do I have to tell VDR explicitly to use the >>Hollywood card instead of my (semi-broken) FF card? Or am I using the >>wrong cable so that it's not possible to display anything? >> >>Any hint? Would be thankful for any help! >> >>Christian >> >> > >Have you changed the primary device setting to point to the Hollywood+ in >VDR setup and are you running vdr with the dxr3 plugin (-Pdxr3)? >If you only have one FF card, the primary device should be 2, unless I >remember incorrectly (1 is the FF card). > >You can also test the Hollywood+ card with MPlayer. There are various >parameters that can be given to the em8300 and other dxr3 modules. >You need to read the documentation at the dxr3 project SourceForge page >and within the source code package to get an idea of the possible >problems and solutions. Incorrect parameter values can cause various >defects to the picture and it is easier to test different settings >with MPlayer. > >-- >Niko Mikkilä > >_______________________________________________ >vdr mailing list >vdr@linuxtv.org >http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr > > > >
On Tue, 01 Nov 2005 22:19:53 +0100 Christian Balzer <christian-balzer@gmx.de> wrote: > Hi Niko, > > first of all: thanks for the fast answer. > second a dum question: where can I change the primary device? I found > various discussions about the primary device but i didn't find anything > about where to set this. In which configure file is this done??? > > Christian > I don't have access to my VDR box right now, but I think it is in setup.conf like most of the settings. Just look for PrimaryDVB in that file. -- Niko Mikkilä
Christian Balzer wrote: > second a dum question: where can I change the primary device? I found > various discussions about the primary device but i didn't find anything > about where to set this. In which configure file is this done??? hi, to be certain that the h+ is working you could have a look at the init parameters of the dxr3 drivers, there is a picture generator function intergrated (can´t remember witch module, its to long ago)
Selon Lars Bläser <lars.blaeser@lycosxxl.de>: > Christian Balzer wrote: > > second a dum question: where can I change the primary device? I found > > various discussions about the primary device but i didn't find anything > > about where to set this. In which configure file is this done??? > > hi, > > to be certain that the h+ is working you could have a look at the init > parameters of the dxr3 drivers, there is a picture generator function > intergrated (can´t remember witch module, its to long ago) > > > > _______________________________________________ > vdr mailing list > vdr@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr > Christian, A Hollywood+ card needs some specific drivers to be loaded prior to use it ! If your TV is flickering when loading the drivers, it seems that you have some drivers... Meanwhile, the TV screen should normally (often) became grren for a while, before displaying the channel you're watching ! So that, could you please look at the following: 1. If you display loaded modules (bash command is lsmod), do you see the em8300 drivers ? 2. Do you have FFMPEG installed correctly ? EM8300 drivers needs that ! EM8300 is the driver used to manage the Hollywood+ card. More informations about installing/using the DXR3 plugin is located at http://www.linuxtv.org/vdrwiki/index.php/Dxr3-plugin PS: Before changing the setup.conf file for changing the primary device, make sure that vdr is not working !
Hi Michael, - the drivers are loaded - i installed FFMPEG manually, but i thought that the c't vdr managed the installation of all needed hollywood+ stuff correctly. Anyway, the installation of ffmpeg didn't change anything When i try "mplayer -ao oss:/dev/em8300_ma-0 -vo dxr3 dvd://1" i can see the DVD via the h+ card. So now i know that is not broken. But i cant't imagine, what's wrong when i try to disply the vdr ... Christian michaelip@free.fr schrieb: >Selon Lars Bläser <lars.blaeser@lycosxxl.de>: > > > >>Christian Balzer wrote: >> >> >>>second a dum question: where can I change the primary device? I found >>>various discussions about the primary device but i didn't find anything >>>about where to set this. In which configure file is this done??? >>> >>> >>hi, >> >>to be certain that the h+ is working you could have a look at the init >>parameters of the dxr3 drivers, there is a picture generator function >>intergrated (can´t remember witch module, its to long ago) >> >> >> >>_______________________________________________ >>vdr mailing list >>vdr@linuxtv.org >>http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr >> >> >> > > > >Christian, > >A Hollywood+ card needs some specific drivers to be loaded prior to use it ! >If your TV is flickering when loading the drivers, it seems that you have some >drivers... Meanwhile, the TV screen should normally (often) became grren for a >while, before displaying the channel you're watching ! > >So that, could you please look at the following: > >1. If you display loaded modules (bash command is lsmod), do you see the em8300 >drivers ? >2. Do you have FFMPEG installed correctly ? EM8300 drivers needs that ! > >EM8300 is the driver used to manage the Hollywood+ card. > >More informations about installing/using the DXR3 plugin is located at >http://www.linuxtv.org/vdrwiki/index.php/Dxr3-plugin > >PS: Before changing the setup.conf file for changing the primary device, make >sure that vdr is not working ! > > >_______________________________________________ >vdr mailing list >vdr@linuxtv.org >http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr > > > >
Selon Christian Balzer <christian-balzer@gmx.de>: > Hi Michael, > > - the drivers are loaded > - i installed FFMPEG manually, but i thought that the c't vdr managed > the installation of all needed hollywood+ stuff correctly. Anyway, the > installation of ffmpeg didn't change anything > > When i try "mplayer -ao oss:/dev/em8300_ma-0 -vo dxr3 dvd://1" i can see > the DVD via the h+ card. So now i know that is not broken. But i cant't > imagine, what's wrong when i try to disply the vdr ... > > Christian > > > michaelip@free.fr schrieb: > > >Selon Lars Bläser <lars.blaeser@lycosxxl.de>: > > > > > > > >>Christian Balzer wrote: > >> > >> > >>>second a dum question: where can I change the primary device? I found > >>>various discussions about the primary device but i didn't find anything > >>>about where to set this. In which configure file is this done??? > >>> > >>> > >>hi, > >> > >>to be certain that the h+ is working you could have a look at the init > >>parameters of the dxr3 drivers, there is a picture generator function > >>intergrated (can´t remember witch module, its to long ago) > >> > >> > >> > >>_______________________________________________ > >>vdr mailing list > >>vdr@linuxtv.org > >>http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr > >> > >> > >> > > > > > > > >Christian, > > > >A Hollywood+ card needs some specific drivers to be loaded prior to use it ! > >If your TV is flickering when loading the drivers, it seems that you have > some > >drivers... Meanwhile, the TV screen should normally (often) became grren for > a > >while, before displaying the channel you're watching ! > > > >So that, could you please look at the following: > > > >1. If you display loaded modules (bash command is lsmod), do you see the > em8300 > >drivers ? > >2. Do you have FFMPEG installed correctly ? EM8300 drivers needs that ! > > > >EM8300 is the driver used to manage the Hollywood+ card. > > > >More informations about installing/using the DXR3 plugin is located at > >http://www.linuxtv.org/vdrwiki/index.php/Dxr3-plugin > > > >PS: Before changing the setup.conf file for changing the primary device, > make > >sure that vdr is not working ! > > > > > >_______________________________________________ > >vdr mailing list > >vdr@linuxtv.org > >http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr > > > > > > > > > Ok. Your card and cable are working fine ! Nice ! So now let's try changing the setup.conf ! But bne sure that vdr is stopped before changing the file as vdr saves the setup.conf file before leaving (well, that's what I noticed !)... By the way, before doing that ! Did you load the DXR3 plugin when starting vdr ? Because even if you use the wrong primary device for input, you should at least see the OSD on the TV ! Hope it helps.
michaelip@free.fr schrieb: >Selon Christian Balzer <christian-balzer@gmx.de>: > > > >>Hi Michael, >> >>- the drivers are loaded >>- i installed FFMPEG manually, but i thought that the c't vdr managed >>the installation of all needed hollywood+ stuff correctly. Anyway, the >>installation of ffmpeg didn't change anything >> >>When i try "mplayer -ao oss:/dev/em8300_ma-0 -vo dxr3 dvd://1" i can see >>the DVD via the h+ card. So now i know that is not broken. But i cant't >>imagine, what's wrong when i try to disply the vdr ... >> >>Christian >> >> >>michaelip@free.fr schrieb: >> >> >> >>>Selon Lars Bläser <lars.blaeser@lycosxxl.de>: >>> >>> >>> >>> >>> >>>>Christian Balzer wrote: >>>> >>>> >>>> >>>> >>>>>second a dum question: where can I change the primary device? I found >>>>>various discussions about the primary device but i didn't find anything >>>>>about where to set this. In which configure file is this done??? >>>>> >>>>> >>>>> >>>>> >>>>hi, >>>> >>>>to be certain that the h+ is working you could have a look at the init >>>>parameters of the dxr3 drivers, there is a picture generator function >>>>intergrated (can´t remember witch module, its to long ago) >>>> >>>> >>>> >>>>_______________________________________________ >>>>vdr mailing list >>>>vdr@linuxtv.org >>>>http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr >>>> >>>> >>>> >>>> >>>> >>> >>>Christian, >>> >>>A Hollywood+ card needs some specific drivers to be loaded prior to use it ! >>>If your TV is flickering when loading the drivers, it seems that you have >>> >>> >>some >> >> >>>drivers... Meanwhile, the TV screen should normally (often) became grren for >>> >>> >>a >> >> >>>while, before displaying the channel you're watching ! >>> >>>So that, could you please look at the following: >>> >>>1. If you display loaded modules (bash command is lsmod), do you see the >>> >>> >>em8300 >> >> >>>drivers ? >>>2. Do you have FFMPEG installed correctly ? EM8300 drivers needs that ! >>> >>>EM8300 is the driver used to manage the Hollywood+ card. >>> >>>More informations about installing/using the DXR3 plugin is located at >>>http://www.linuxtv.org/vdrwiki/index.php/Dxr3-plugin >>> >>>PS: Before changing the setup.conf file for changing the primary device, >>> >>> >>make >> >> >>>sure that vdr is not working ! >>> >>> >>>_______________________________________________ >>>vdr mailing list >>>vdr@linuxtv.org >>>http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr >>> >>> >>> >>> >>> >>> > > >Ok. Your card and cable are working fine ! Nice ! > >So now let's try changing the setup.conf ! But bne sure that vdr is stopped >before changing the file as vdr saves the setup.conf file before leaving (well, >that's what I noticed !)... > >By the way, before doing that ! Did you load the DXR3 plugin when starting vdr ? >Because even if you use the wrong primary device for input, you should at least >see the OSD on the TV ! > >Hope it helps. > >_______________________________________________ >vdr mailing list >vdr@linuxtv.org >http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr > > I tried to change settings in the setup.conf with a stopped vdr. But it didn't work. :-( Even the OSD is not displayed. I get nothing expect the flickering while drivers are loaded. Err, the dxr3 drivers are loaded by /etc/init.d/vdr start -dxr3 or not?? When VDR is started these are last the ouput lines: av7110: found av7110-0 adv717x.o Configuring for PAL am8300_audio.o: Analof audio enabled em8300: Microcode version 0x29 loaded Christian > > >
--- recording.c.sav Mon Oct 31 13:27:58 2005 +++ recording.c Tue Nov 1 19:20:27 2005 @@ -1342,7 +1342,7 @@ cUnbufferedFile *cFileName::SetOffset(in // found a non existing file suffix } if (Open() >= 0) { - if (!record && Offset >= 0 && file->Seek(Offset, SEEK_SET) != Offset) { + if (!record && Offset >= 0 && file && file->Seek(Offset, SEEK_SET) != Offset) { LOG_ERROR_STR(fileName); return NULL;