[Python-Dev] test_logging failing on Windows 2000

Guido van Rossum guido@python.org
Wed, 15 Jan 2003 19:59:07 -0500


> For some reason, test_logging.py is failing on my machine - but only when
> run via "regrtest.py" - running stand-alone works fine.
> 
> The output I see is:
> 
> test_logging
> Traceback (most recent call last):
>   File "E:\src\python-cvs\lib\logging\__init__.py", line 645, in emit
>     self.stream.write("%s\n" % msg)
> ValueError: I/O operation on closed file
> Traceback (most recent call last):
>   File "E:\src\python-cvs\lib\logging\__init__.py", line 645, in emit
>     self.stream.write("%s\n" % msg)
> Vtest test_logging produced unexpected output:
> 
> [Sometimes the "ValueError" will be repeated quite a few times.  Often these
> exceptions are intermingled with the next test output - ie, the logging test
> continues to run even once the following test has started.]
> 
> I am guessing that some threads are spawned, but for some reason we aren't
> waiting for them to complete before closing the output file.
> 
> I will have a look at this once I actually finish what I was trying to
> start - but if someone has a clue, let me know!

I had this exact same failure mode too, on Linux -- and then the next
day I couldn't reproduce it!

Glad it's not just me, and not just Linux either. :-)

I guess the test is using threads and there's a race condition.

No time to actually look at any code, but it might be obvious. :-(

--Guido van Rossum (home page: http://www.python.org/~guido/)