From patchwork Sun Dec 3 11:45:20 2006 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jose Alberto Reguero X-Patchwork-Id: 12413 Received: from smtp.telefonica.net ([213.4.149.66] helo=ctsmtpout2.frontal.correo) by www.linuxtv.org with esmtp (Exim 4.50) id 1GqpmP-0007Fi-HH for vdr@linuxtv.org; Sun, 03 Dec 2006 12:45:09 +0100 Received: from jar.dominio (80.25.230.35) by ctsmtpout2.frontal.correo (7.2.056.6) (authenticated as jareguero$telefonica.net) id 456D9CAA00098F8B for vdr@linuxtv.org; Sun, 3 Dec 2006 12:45:08 +0100 From: Jose Alberto Reguero To: VDR Mailing List Subject: Re: [vdr] vdr 1.4.4 / xineliboutput 1.0.0_pre6 causes complete system freeze Date: Sun, 3 Dec 2006 12:45:20 +0100 User-Agent: KMail/1.9.5 References: <200612031131.24611.ml_vdr@mortal-soul.de> In-Reply-To: <200612031131.24611.ml_vdr@mortal-soul.de> MIME-Version: 1.0 Message-Id: <200612031245.20431.jareguero@telefonica.net> X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Dec 2006 11:45:10 -0000 Status: O X-Status: X-Keywords: X-UID: 11322 El Domingo, 3 de Diciembre de 2006 11:31, Matthias Dahl escribió: > Hi everyone. > > I am currently trying to get away from MythTV (which never lived up to my > expectations). So far, vdr has been nothing but great. Except for the > following which just drives me crazy: > > Whenever I am using vdr-sfxe or xine-ui to watch tv, switching channels > sometimes freezes my system hard... except for the Magic SysRq reboot key, > its totally dead. (no remote logging, no emergency umounting, ...) > > So far I have been able to come up with a testcase that reproduces the > problem or at least some problem... > > 1) start vdr as demon (with xineliboutput) > 2) fire up vdr-sxfe (use a local pipe or rtsp or whatever) or xine xvdr:// > 3) send a SIGKILL to the frontend process (so either vdr-sxfe or xine) > 4) system freezes hard immediately without any logs or whatsoever > > I believe this is the same problem I have been expierencing at random. I > guess what happened previously was that vdr-sxfe or xine died unexpectedly > and which naturally led to the same result. > > What's interesting though, starting vdr directly (not as demon) with the > xineliboutput, I am unable to reproduce the problem. I can kill the > process, zap around as much as I want... no problem. > > Here some more informations: > > - OS: Gentoo ~amd64 (64 bit -hicks-) > - KNC ONE DVB-C Plus with Cineview and Alphacrypt Light CAM > - fresh (a few days old) dvb tree from mercurial repository (linuxtv.org) > - 2.6.19rc6git10 (almost 100% identical to 2.6.19-final) > - xinelib 1.1.3_pre20061129 > - vdr 1.4.4 with bigpatch, setup plugin, jumpplay, dvbplayer, cmdsubmenu >   dolby-record-switch, submenu and femon > - xineliboutput 1.0.0_pre6 > - gcc 4.1.1 (gentoo rev 2, meaning there are a lot of fixes included and > thus not vanilla) > - glibc 2.5 > > Naturally I also tried older kernels and older dvb checkouts but that > didn't change anything. I do believe now that the problem is somewhere > either in vdr or in xineliboutput because my system is normally rock solid > and I cannot force a total freeze with just some dvb apps even if I want > to. (believe me, I tried) > > Being an "computer scientist" myself, I know there is nothing more > important than debugging the whole thing. Unfortunately that's hard to do > when the whole system just takes a break. ;-) I tried getting getting some > infos out of this with gdb but so far nothing turned up. There is also no > kernel oops or anything like it reported. > > The strangest thing about this: vdr runs as vdr:vdr and vdr-sxfe is also > just a regular user. Actually user processes shouldn't be able to freeze > the system hard. ;-( > > By the way, I also opened up a post over at vdr-portal.de which turned up > that I am not the only one seeing this problem. > > (german) http://www.vdr-portal.de/board/thread.php?postid=548719 > > I also email Petri (author of xineliboutput) a few days ago with roughly > the same msg here but I haven't yet received an answer. > > Thanks for any help or advice in advance! If there is anything I can do to > help to get to the bottom of this, I'd be more than glad. > > Have a nice weekend, > matthew. > I have the same problem. See: http://linuxtv.org/pipermail/vdr/2006-September/010628.html The attached patch work for me. Jose Alberto Index: frontend_svr.c =================================================================== RCS file: /cvsroot/xineliboutput/vdr-xineliboutput/frontend_svr.c,v retrieving revision 1.27 diff -r1.27 frontend_svr.c 1245c1245,1246 < while(read(fd_control[cli], &m_CtrlBuf[ cli ][ m_CtrlBufPos[cli] ], 1) == 1) { --- > int n; > while((n = read(fd_control[cli], &m_CtrlBuf[ cli ][ m_CtrlBufPos[cli] ], 1)) == 1) { 1268a1270,1273 > if (n == 0) { > LOGMSG("Client connection %d closed", cli); > CloseConnection(cli); > }