public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Ford <ford@vss.fsi.com>
To: cygwin@cygwin.com
Subject: Re: 1.5.9-1: socket() appears NOT to be thread-safe
Date: Sat, 22 May 2004 16:59:00 -0000	[thread overview]
Message-ID: <Pine.CYG.4.58.0405211650500.3524@fordpc.vss.fsi.com> (raw)
In-Reply-To: <20040415174118.GA8644@coe.bosbc.com>

I assume this email is hopeless, but I'm desperately searching for a
lead...

On Thu, 15 Apr 2004, Christopher Faylor wrote:

> Corinna showed me that this was a problem in my autoload code rather than
> a problem with winsock.  That's comforting.  I guess I've grown too quick
> to judge Windows.
>
> I've checked in a fix and am regenerating a snapshot.  The fix consisted of
> deleting a few lines of code so that's always nice...
>
> Thanks for the test case.  It helped a lot in tracking this problem down.

I still see the same symptom (ie. socket randomly returns "Operation not
permitted" at application startup) with current CVS, but not with the
original test case, and only on a dual CPU box :-(.  So far, I have been
unsuccessful at catching it with strace, even when -b 1000000 is supplied.
It is unfortunately a complicated series of events that cause the problem.

1.) X app forks
2.) child execlp's a /bin/sh script
3.) script exec's a program that calls socket

About 30% of the time, socket returns the error above.  I tried
replacing the exec line in the shell script with:

exec strace -o tracefile -b 1000000 socket_error.exe

but then it doesn't fail.  It also doesn't fail if socket_error.exe is
launched directly from the bash prompt.

I will keep trying to come up with a test case that I can actually study,
but I was hoping someone might have an idea about how to catch it better
or where to look.

Is it possible that the autoload code needs to be made dual CPU safe?

Thanks anyway.

-- 
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained pilot...

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

  reply	other threads:[~2004-05-21 22:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-14 10:43 Enzo Michelangeli
2004-04-14 13:22 ` Corinna Vinschen
2004-04-14 17:06 ` Brian Ford
2004-04-15  3:17   ` Enzo Michelangeli
2004-04-15  4:14     ` Christopher Faylor
2004-04-15 17:41       ` Christopher Faylor
2004-05-22 16:59         ` Brian Ford [this message]
2004-05-22 19:08           ` Christopher Faylor
2004-06-10 15:21             ` Brian Ford
2004-06-10 17:37               ` Brian Ford
2004-04-15  4:04 Enzo Michelangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.CYG.4.58.0405211650500.3524@fordpc.vss.fsi.com \
    --to=ford@vss.fsi.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).