[Python-Dev] FW: weird bug in test_winreg

Mark Hammond mhammond@skippinet.com.au
Thu, 4 May 2000 11:20:24 +1000


Oops - I didnt notice the CC - a copy of what I sent to Guido:

-----Original Message-----
From: Mark Hammond [mailto:mhammond@skippinet.com.au]
Sent: Thursday, 4 May 2000 11:13 AM
To: Guido van Rossum
Subject: RE: weird bug in test_winreg


Hah - I was just thinking about this this myself.  If I wasnt waiting 24
hours, I would have beaten you to the test_fork1 patch :-)

However, there is something bad going on.  If you remove your test_fork1
patch, and run it from regrtest (_not_ stand alone) you will see the
children threads die with:

  File "L:\src\Python-cvs\Lib\test\test_fork1.py", line 30, in f
    alive[id] = os.getpid()
AttributeError: 'None' object has no attribute 'getpid'

Note the error - os is None!

[The reason is only happens as part of the test is because the children are
created before the main thread fails with the attribute error]

Similarly, I get spurious:

Traceback (most recent call last):
  File ".\test_thread.py", line 103, in task2
    mutex.release()
AttributeError: 'None' object has no attribute 'release'

(Only rarely, and never when run stand-alone - the test_fork1 exception
happens 100% of the time from the test suite)

And of course the test_winreg one.

test_winreg, I guessed, may be caused by the import lock (but its certainly
not obvious how or why!?).  However, that doesnt explain the others.

I also saw these _before_ I applied the threading patches (and after!)

So I think the problem may be a little deeper?

Mark.