X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=BqgsUTekDcHR9Q/8 nbXcHH0p0+WWJqvR6xrux/ZrGHj7qIFt99hU5A7sqokI9ZRPdCv0Srf+gNMhfSrj h93DFXu0hiClAQi4NF8oEdK3qRoYBfIUfPs3I8OWEoRy1T2EiHRtRH5utyv7z16V c3Ud8OLWQZ6C8ueR+2U+xCYSx8A= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; s=default; bh=5g2WraqMcW8zBMqVB3jRWx CKQkc=; b=bl/t5YIfaN9SYu+rr+Z/mmsuZYfvav5qrBnteppckBGzURFJ/m9gmb u6g/MJxHz6Vp2f0a1xS+rhqB+18kYbik93fyt0lBUYKLFptv6AV7njVvoI5ggqQw TkN2oaLf24zx6Y+DimzPEB5yrTU2kdlipG/Vr48ntmzfm7pabNBUY= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Spam-SWARE-Status: No, score=-5.9 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_DNSWL_MED,RCVD_IN_HOSTKARMA_NO,RCVD_IN_HOSTKARMA_YE,RP_MATCHES_RCVD,SPF_PASS,TW_CG autolearn=ham version=3.3.1 X-CornellRouted: This message has been Routed already. Message-ID: <51BDFB25.8080101@cornell.edu> Date: Sun, 16 Jun 2013 13:51:33 -0400 From: Ken Brown User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 MIME-Version: 1.0 To: cygwin AT cygwin DOT com CC: 14569 AT debbugs DOT gnu DOT org Subject: Re: bug#14569: 24.3.50; bootstrap fails on Cygwin References: <51BC720D DOT 7080504 AT alice DOT it> <51BDB979 DOT 3040508 AT cornell DOT edu> <20130616150141 DOT GB3622 AT ednor DOT casa DOT cgf DOT cx> In-Reply-To: <20130616150141.GB3622@ednor.casa.cgf.cx> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 6/16/2013 11:01 AM, Christopher Faylor wrote: > On Sun, Jun 16, 2013 at 09:11:21AM -0400, Ken Brown wrote: >> [Adding the bug address back to the CC so that this gets archived.] >> >> On 6/15/2013 9:54 AM, Angelo Graziosi wrote: >>> Christopher Faylor wrote >>>>> On 06/14/2013 11:03 AM, Christopher Faylor wrote: >>>>>> You pointed to an archived mail messages which implies that was fixed >>>>>> more than a year ago. What makes you think it is still a problem? >>>>> >>>>> The message I pointed to >>>>> says this: >>>>> >>>>>> Testcase signal/kill: Signals may or may not reach the correct thread >>>>>> with 1.7.12-1 and newer. >>>>> >>>>> Confirmed. I think the reason is that we only have a single event to >>>>> signal that a POSIX signal arrived instead of a per-thread event, but >>>>> I'm not sure. This is cgf's domain so I leave it at that for now. >>>>> >>>>> I interpreted this to mean "the existence of the bug is confirmed, >>>>> here's why the bug occurs, and I'll let cgf deal with it". I didn't >>>>> see any followup message where cgf (is that you?) dealt with it. My >>>>> apologies if I misinterpreted the email. >>>> >>>> Oops. I didn't read Corinna's message as thoroughly as I should have. >>>> Sorry. >>>> >>>> That particular issue was supposed to have been fixed in Cygwin 1.7.17, >>>> released in October 2012. >>> >>> Out of curiosity, I tried the test cases I found in that thread, more >>> precisely here: >>> >>> http://cygwin.com/ml/cygwin/2012-05/msg00434.html >>> >>> >>> and the results are: >>> >>> $ gcc otto_test1.c -o otto_test1 >>> $ ./otto_test1 >>> Testing deferred pthread_cancel() >>> >>> Thread 0 starting (0x200102c0) >>> Thread 1 starting (0x20010360) >>> Thread 2 starting (0x20010400) >>> >>> Cancelling thread 2 (0x20010400) >>> Thread 2 exiting (0x20010400) >>> Cancelling thread 1 (0x20010360) >>> Thread 1 exiting (0x20010360) >>> Cancelling thread 0 (0x200102c0) >>> Thread 0 exiting (0x200102c0) >>> >>> Thread 0 is gone (0x200102c0) >>> Thread 1 is gone (0x20010360) >>> Thread 2 is gone (0x20010400) >>> >>> $ gcc otto_test2.c -o otto_test2 >>> $ ./otto_test2 >>> Testing asynchronous pthread_cancel() >>> >>> Thread 0 starting (0x200102c0) >>> Changing canceltype from 0 to 1 >>> Thread 1 starting (0x20010360) >>> Changing canceltype from 0 to 1 >>> Thread 2 starting (0x20010400) >>> Changing canceltype from 0 to 1 >>> >>> Cancelling thread 2 (0x20010400) >>> Thread 2 exiting (0x20010400) >>> Cancelling thread 1 (0x20010360) >>> Thread 1 exiting (0x20010360) >>> Cancelling thread 0 (0x200102c0) >>> Thread 0 exiting (0x200102c0) >>> >>> Thread 0 is gone (0x200102c0) >>> Thread 1 is gone (0x20010360) >>> Thread 2 is gone (0x20010400) >>> >>> $ gcc otto_test3.c -o otto_test3 >>> $ ./otto_test3 >>> Testing pthread_kill() >>> >>> Thread 0 starting (0x200102c0) >>> Thread 1 starting (0x20010360) >>> Thread 2 starting (0x20010400) >>> >>> Sending SIGUSR1 to thread 2 (0x20010400) >>> Thread 2 executes signal handler (0x20010400) >>> Thread 2 encountered an error: Interrupted system call (0x20010400) >>> Sending SIGUSR1 to thread 1 (0x20010360) >>> Thread 1 executes signal handler (0x20010360) >>> Thread 1 encountered an error: Interrupted system call (0x20010360) >>> Sending SIGUSR1 to thread 0 (0x200102c0) >>> Thread 0 executes signal handler (0x200102c0) >>> Thread 0 encountered an error: Interrupted system call (0x200102c0) >>> >>> Are the errors in the last test case to be expected under the 20130612 >>> snapshot (CYGWIN_NT-5.1, 1.7.21s 20130612 21:06:59, i686 Cygwin)? >> >> I can replicate this on my system, consistently. There's clearly a >> problem, but it's not the same as in the original Cygwin bug report. In >> the present case, the signal is received by the right thread, but >> something goes wrong afterwards. > > Try it on Linux. I don't see any difference. "An error" in this case > seems to be the script working as designed. > > % man sem_wait > > SEM_WAIT(3) Linux Programmer's Manual SEM_WAIT(3) > > > > NAME > sem_wait, sem_timedwait, sem_trywait - lock a semaphore > > ... > > ERRORS > EINTR The call was interrupted by a signal handler; see signal(7). Yeah, I missed that. Sorry for the noise. Ken -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple