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:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=GEqCN7Y03BbNK2w38e2M7NFDoOxkOIbNjK9NuSFul8LIPf2Q8Hnhp 3oJqNb93mQ1HVr9v/LWuIWQnIr9vKuW013KxzNo7/YOKMuczxVYG5TnRIZTpYeI7 X4oGGkvk92iKlCoJWmpokD813E4FXvVlAwRhc9c2PF1x424sT4Xe3s= 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:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=FCcivBWiMqieeo5MZVd0osF40D4=; b=e4DrIa//pwilTbQOvP+HuVkhYsIw NhBpO06ZF3BaMUc9w3lsP3pd9p1Gu+ipP+fV+Rkjv6UtbXr0Wf/Ezn0Ox/Zg1amu Vml9lAAjs79hVF133CmazOleUtYVMPr9uT9zYcC+mVibZEqf1RSCsXDxQ9ezMFKe MDE0LWGuqBm1afk= 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=-1.8 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE,TW_CG autolearn=ham version=3.3.1 X-Mail-Handler: Dyn Standard SMTP by Dyn X-Report-Abuse-To: abuse AT dyndns DOT com (see http://www.dyndns.com/services/sendlabs/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1+LMaeR4RlKIbG+8MHuQr8M Date: Sun, 16 Jun 2013 11:01:41 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: bug#14569: 24.3.50; bootstrap fails on Cygwin Message-ID: <20130616150141.GB3622@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <51BC720D DOT 7080504 AT alice DOT it> <51BDB979 DOT 3040508 AT cornell DOT edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <51BDB979.3040508@cornell.edu> User-Agent: Mutt/1.5.20 (2009-06-14) 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). ... cgf -- 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