Message ID | 4DD8F6E0.8010500@tvdr.de |
---|---|
State | New |
Headers |
Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.69) (envelope-from <Klaus.Schmidinger@tvdr.de>) id 1QO74O-0004Ff-B5 for vdr@linuxtv.org; Sun, 22 May 2011 13:43:41 +0200 X-tubIT-Incoming-IP: 188.40.50.18 Received: from racoon.tvdr.de ([188.40.50.18]) by mail.tu-berlin.de (exim-4.75/mailfrontend-2) with esmtps [TLSv1:AES256-SHA:256] for <vdr@linuxtv.org> id 1QO74N-0002Sy-JJ; Sun, 22 May 2011 13:43:40 +0200 Received: from whale.tvdr.de (whale.tvdr.de [192.168.100.6]) by racoon.tvdr.de (8.14.3/8.14.3) with ESMTP id p4MBhd3k000565 for <vdr@linuxtv.org>; Sun, 22 May 2011 13:43:39 +0200 Received: from weasel.tvdr.de (weasel.tvdr.de [192.168.100.20]) (authenticated bits=0) by whale.tvdr.de (8.14.3/8.14.3) with ESMTP id p4MBhXk1011311 for <vdr@linuxtv.org>; Sun, 22 May 2011 13:43:33 +0200 Message-ID: <4DD8F6E0.8010500@tvdr.de> Date: Sun, 22 May 2011 13:43:28 +0200 From: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110414 SUSE/3.1.10 Thunderbird/3.1.10 MIME-Version: 1.0 To: vdr@linuxtv.org References: <4DB5E6D5.5020001@needful.de> <4DB5E9AA.1090800@needful.de> <4DD7CB79.2080800@tvdr.de> <4DD833CB.3020808@needful.de> <4DD83E48.7050501@tvdr.de> <4DD8E95D.3090201@tvdr.de> <4DD8F1C0.7020001@needful.de> In-Reply-To: <4DD8F1C0.7020001@needful.de> Content-Type: multipart/mixed; boundary="------------020607050509030706090307" X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.0.1 (racoon.tvdr.de [188.40.50.18]); Sun, 22 May 2011 13:43:39 +0200 (CEST) X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.5.22.113316 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MIME_TEXT_ONLY_MP_MIXED 0.05, BODY_SIZE_4000_4999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, __ANY_URI 0, __BAT_BOUNDARY 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CT 0, __CTYPE_HAS_BOUNDARY 0, __CTYPE_MULTIPART 0, __CTYPE_MULTIPART_MIXED 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MOZILLA_MSGID 0, __SANE_MSGID 0, __SUBJECT_ENDING_IN_LATIN_OR_NUMERALS 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_MAILTO 0, __URI_NO_PATH 0, __URI_NO_WWW 0, __USER_AGENT 0' X-LSpam-Score: -5.1 (-----) X-LSpam-Report: No, score=-5.1 required=5.0 tests=AWL=1.533, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4 autolearn=ham Subject: Re: [vdr] diseqc errors X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: VDR Mailing List <vdr@linuxtv.org> List-Id: VDR Mailing List <vdr.linuxtv.org> List-Unsubscribe: <http://www.linuxtv.org/cgi-bin/mailman/options/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, 22 May 2011 11:43:41 -0000 Status: O X-Status: X-Keywords: X-UID: 24766 |
Commit Message
Klaus Schmidinger
May 22, 2011, 11:43 a.m. UTC
On 05/22/11 13:21, Marco Göbenich wrote: > Hi! > > Would there be a patch for 1.6.0? The actual fix for version 1.6.0 is in the attached patch. Klaus > Am 22.05.2011 12:45, schrieb Klaus Schmidinger: >> On 05/22/11 00:35, Klaus Schmidinger wrote: >>> On 21.05.2011 23:51, Marco Göbenich wrote: >>>> Hi! >>>> >>>> No, checked against vanilla vdr-1.6-0, diseq.c and diseq.h are not modified. >>>> I looked again in the logs and it seems that this happens when a epg scan is triggered, all entries seem to occur on times when there are free devices. >>> Sounds like two threads are accessing a cDiseqc object at the same time. >>> >>> For a quick test, can you please try adding the following two lines: >>> >>> >>> char *cDiseqc::Codes(char *s) >>> { >>> static cMutex Mutex; //ADD >>> cMutexLock MutexLock(&Mutex); //ADD >>> char *e = strchr(s, ']'); >> Looks like cDiseqc::Execute(), if called at the same time from >> two different threads, modified the member variable 'numCodes' >> in both calls and thus one of them ended up getting too high. >> >> I have attached a patch that should fix this. It also makes >> the whole thing more 'const'. >> >> Please let me know if this works in your environment. >> >> Klaus >> >>>> Am 21.05.2011 16:26, schrieb Klaus Schmidinger: >>>>> On 04/25/11 23:37, Marco Göbenich wrote: >>>>>> Hi! >>>>>> >>>>>> Forgot to say that I'm using vdr-1.6 with TechniSat Gigaswitch 9/20. >>>>>> >>>>>> Regards >>>>>> >>>>>> Marco >>>>>> >>>>>> Am 25.04.2011 23:25, schrieb Marco Göbenich: >>>>>>> Hi! >>>>>>> >>>>>>> I get the following errors: >>>>>>> >>>>>>> Apr 25 22:22:56 vdr10 vdr: [7893] ERROR: too many codes in code sequence '[E0 10 38 F0] W15 A W15 t' >>>>>>> Apr 25 22:25:44 vdr10 vdr: [7890] ERROR: too many codes in code sequence '[E0 10 38 F6] W15 B W15 t' >>>>>>> Apr 25 22:25:44 vdr10 vdr: [7893] ERROR: too many codes in code sequence '[E0 10 38 F6] W15 B W15 t' >>>>>>> Apr 25 22:40:36 vdr10 vdr: [7896] ERROR: too many codes in code sequence '[E0 10 38 F5] W15 B W15 T' >>>>>>> Apr 25 22:46:45 vdr10 vdr: [7890] ERROR: too many codes in code sequence '[E0 10 38 F6] W15 B W15 t' >>>>>>> Apr 25 22:52:21 vdr10 vdr: [7893] ERROR: too many codes in code sequence '[E0 10 38 F3] W15 A W15 T' >>>>>>> Apr 25 23:19:42 vdr10 vdr: [7893] ERROR: too many codes in code sequence '[E0 10 38 F7] W15 B W15 T' >>>>>>> >>>>>>> No Problems with recordings so far, but my diseqc.conf is from the wiki >>>>>>> and I don't know how to solve this.. >>>>>>> >>>>>>> my diseqc.conf: >>>>>>> S19.2E 11700 V 9750 t v W15 [E0 10 38 F0] W15 A W15 t >>>>>>> S19.2E 99999 V 10600 t v W15 [E0 10 38 F1] W15 A W15 T >>>>>>> S19.2E 11700 H 9750 t V W15 [E0 10 38 F2] W15 A W15 t >>>>>>> S19.2E 99999 H 10600 t V W15 [E0 10 38 F3] W15 A W15 T >>>>>>> >>>>>>> S13.0E 11700 V 9750 t v W15 [E0 10 38 F4] W15 B W15 t >>>>>>> S13.0E 99999 V 10600 t v W15 [E0 10 38 F5] W15 B W15 T >>>>>>> S13.0E 11700 H 9750 t V W15 [E0 10 38 F6] W15 B W15 t >>>>>>> S13.0E 99999 H 10600 t V W15 [E0 10 38 F7] W15 B W15 T >>>>> I can't see why this error would occur, your diseqc.conf looks fine. >>>>> >>>>> Is your diseqc.h or diseqc.c source file patched in any way? >>>>> >>>>> KlAUS
--- diseqc.c 2008/02/10 14:09:27 1.6 +++ diseqc.c 2011/05/22 11:41:05 @@ -73,15 +73,18 @@ { char *e = strchr(s, ']'); if (e) { - numCodes = 0; + int NumCodes = 0; char *t = s; char *p = s; while (t < e) { - if (numCodes < MaxDiseqcCodes) { + if (NumCodes < MaxDiseqcCodes) { errno = 0; int n = strtol(t, &p, 16); if (!errno && p != t && 0 <= n && n <= 255) { - codes[numCodes++] = n; + if (parsing) + codes[NumCodes++] = n; + numCodes = NumCodes; + } t = skipspace(p); } else {