delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2013/06/16/11:01:59

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: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <cgf-use-the-mailinglist-please AT cygwin DOT com>
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
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
>>>> <http://cygwin.com/ml/cygwin/2012-05/msg00472.html> 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019