Subject: Re: Threaded Cygwin Python Problem (was Re: Creating a local mirror ...)
From: Jason Tishler <[email-masked]>
To: "Gerald S. Williams" <[email-masked]>
Cc: Cygwin <[email-masked]>
Date: Fri, 22 Feb 2002 13:21:13 -0500

Jerry,

On Fri, Feb 22, 2002 at 11:57:25AM -0500, Gerald S. Williams wrote:
> Jason Tishler wrote:
> > Thanks for your offer to help.  See the following for more details:
> >     http://cygwin.com/ml/cygwin-developers/2001-10/msg00191.html
> >     http://cygwin.com/ml/cygwin-developers/2001-10/msg00193.html
> 
> I have so far been unable to cause test_threadedtempfile to
> fail, although I will poke around in thread_pthread.h and
> company. It will be harder for me to track since I haven't
> duplicated the problem.

Is it just me?  Or, can anyone else reproduce this problem?  I have been
able to cause the hang on three different machines.  All of them PIIIs
at 500 or 750 MHz.  Maybe processor speed matters?  Additionally, the
hang occurs regardless of the NT version: NT 4.0 SP6a, Win2K SP1 or SP2.

Note that test_threadedtempfile does not hang every time, so I use the
following to trigger it:

    i=0
    while :
    do
        ((i=i+1))
        echo $i
        ./python.exe -E -tt ./Lib/test/regrtest.py -l test_threadedtempfile
        sleep 1
    done

I have never seen the above get past 30 iterations -- usually it will
hang much sooner.

> I can see some potential race conditions in the Python
> code, but it depends on how the underlying implementation
> actually works. I'll look into them.
> 
> > > Another member of my group found a problem with
> > > the Solaris pthreads package that he had to work around.
> > 
> > Please provide more details on the above.  Maybe the same or similar
> > workaround could help for Cygwin too?
> 
> I wasn't privy to the details, although I'll shoot him an
> e-mail (he's no longer with the company). From the source
> code (uncommented, of course), it looks like the workaround
> had something to do with signals.

Thanks for the above.  I appreciate your help trying to track down this
difficult issue -- once this is (finally) resolved then the Cygwin
Python port is essentially complete!

Jason

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/