Message ID | 200506052103.20520.wolfgang@rohdewald.de |
---|---|
State | New |
Headers |
Received: from natsmtp00.rzone.de ([81.169.145.165]) by www.linuxtv.org with esmtp (Exim 4.34) id 1Df0P5-0007n6-TY for vdr@linuxtv.org; Sun, 05 Jun 2005 21:03:23 +0200 Received: from wr.rohdewald.de (p548F8F95.dip0.t-ipconnect.de [84.143.143.149]) (authenticated bits=0) by post.webmailer.de (8.13.1/8.13.1) with ESMTP id j55J3LJX016595 for <vdr@linuxtv.org>; Sun, 5 Jun 2005 21:03:22 +0200 (MEST) From: Wolfgang Rohdewald <wolfgang@rohdewald.de> To: vdr@linuxtv.org Date: Sun, 5 Jun 2005 21:03:20 +0200 User-Agent: KMail/1.7.2 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200506052103.20520.wolfgang@rohdewald.de> Subject: [vdr] Bug/patch in transfer.c, 1.3.25 X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: wolfgang@rohdewald.de, 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: Sun, 05 Jun 2005 19:03:24 -0000 Status: O X-Status: X-Keywords: X-UID: 2802 |
Commit Message
Wolfgang Rohdewald
June 5, 2005, 7:03 p.m. UTC
this might explain why vdr often dies when switching from/to a channel with DD sound - like ZDF and Pro 7, at least I hope so. Not tested yet, but the bug seems clear enough: Program received signal SIGILL, Illegal instruction. [Switching to Thread 557063 (LWP 15183)] 0xb7db542e in main_arena () from /lib/libc.so.6 (gdb) bt #0 0xb7db542e in main_arena () from /lib/libc.so.6 #1 0x0811db65 in cTransfer::Action (this=0xac88870) at transfer.c:84 #2 0x08114d9e in cThread::StartThread (Thread=0xac88990) at thread.c:233 #3 0xb7ea7e51 in pthread_start_thread () from /lib/libpthread.so.0 #4 0xb7ea7ecf in pthread_start_thread_event () from /lib/libpthread.so.0 #5 0xb7d5c92a in clone () from /lib/libc.so.6 (gdb) up #1 0x0811db65 in cTransfer::Action (this=0xac88870) at transfer.c:84 84 if (ringBuffer->Available() < RequiredBufferReserve) { // used to be MAXFRAMESIZE, but the HDTV value of KILOBYTE(512) is way too much here Current language: auto; currently c++ (gdb) p RequiredBufferReserve $1 = 589824 (gdb) p DvbCardWith4MBofSDRAM $4 = false
Comments
On Sonntag 05 Juni 2005 21:03, Wolfgang Rohdewald wrote: > this might explain why vdr often dies when switching from/to a channel with DD sound - > like ZDF and Pro 7, at least I hope so. Not tested yet, but the bug seems clear enough: Nope, the problems are still there: un 5 21:03:43 mm kernel: DVB: registering frontend 1 (ST STV0299 DVB-S)... 06/05 21:04:11 vdr[19977]: switching to channel 2 Jun 5 21:04:11 mm kernel: dvb-ttpci: warning: timeout waiting in BlitBitmap: -512, 1 06/05 21:04:11 vdr[20098]: transfer thread started (pid=20098, tid=262151) 06/05 21:04:11 vdr[20099]: receiver on device 1 thread started (pid=20099, tid=278536) 06/05 21:04:11 vdr[20100]: TS buffer on device 1 thread started (pid=20100, tid=294921) Jun 5 21:04:16 mm kernel: dvb-ttpci: warning: timeout waiting in BlitBitmap: -512, 1 06/05 21:04:14 vdr[19977]: switching to channel 3 06/05 21:04:14 vdr[20098]: transfer thread ended (pid=20098, tid=262151) 06/05 21:04:14 vdr[20100]: TS buffer on device 1 thread ended (pid=20100, tid=294921) 06/05 21:04:14 vdr[20099]: buffer stats: 92308 (4%) used 06/05 21:04:14 vdr[20099]: receiver on device 1 thread ended (pid=20099, tid=278536) 06/05 21:04:14 vdr[19977]: buffer stats: 317156 (15%) used 06/05 21:04:16 vdr[19977]: switching to channel 4 06/05 21:04:16 vdr[20126]: transfer thread started (pid=20126, tid=311303) 06/05 21:04:16 vdr[20127]: receiver on device 1 thread started (pid=20127, tid=327688) 06/05 21:04:16 vdr[20128]: TS buffer on device 1 thread started (pid=20128, tid=344073) Jun 5 21:04:17 mm kernel: __av7110_send_fw_cmd: timeout waiting on busy MSG QUEUE Jun 5 21:04:17 mm kernel: dvb-ttpci: av7110_send_fw_cmd(): av7110_send_fw_cmd error -1 Jun 5 21:04:17 mm kernel: dvb-ttpci: av7110_fw_cmd error -1 Jun 5 21:04:18 mm kernel: __av7110_send_fw_cmd: timeout waiting on busy MSG QUEUE Jun 5 21:04:18 mm kernel: dvb-ttpci: av7110_send_fw_cmd(): av7110_send_fw_cmd error -1 06/05 21:04:18 vdr[19983]: channel 7 (ProSieben) event 20:16 \'Tiger & Dragon\' status 4 06/05 21:04:20 vdr[20126]: clearing device because of consecutive poll timeouts 06/05 21:04:21 vdr[20126]: clearing device because of consecutive poll timeouts
--- xx 2005-06-05 20:59:08.000000000 +0200 +++ transfer.c 2005-06-05 20:59:16.000000000 +0200 @@ -68,7 +68,7 @@ int Result = 0; #ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3 bool GotBufferReserve = false; - int RequiredBufferReserve = KILOBYTE(DvbCardWith4MBofSDRAM ? 288 : 576); + int RequiredBufferReserve = KILOBYTE(DvbCardWith4MBofSDRAM ? 576 : 288); #endif active = true; while (active) {