Attached is the VERY dirty patch I made to try to diagnose the problem (I running with it). It adds debug traces and a magic number at the begginning of each packet header. Though, I haven't been able to reproduce it since the last time it occurred. The probability of occurrence seems to be reduced with the added trace, but it still occurred a few times with the traces.

The main possible source I see to explain this random behavior is a race condition. I find it is suspicious that it always occurs on the first byte following the bootstrap code send on stdin. The only candidate I've seen in the code is that stdin/stdout are set to binary mode at the end of the bootstrap code, but I don't know if this could cause a byte to be lost.

You'll need to create a c:\temp\_execnet directory (debug traces are dumped there).

----- Original Message ----- From: "holger krekel" <[EMAIL PROTECTED]>
To: "Matthew Edwards" <[EMAIL PROTECTED]>
Cc: <py-dev@codespeak.net>
Sent: Saturday, July 12, 2008 7:01 AM
Subject: Re: [py-dev] py.test --looponfailing IOError


Hello Matthew,

this seems to be a problem with the lower level network communication part.
also had other reports pointing to that.  I aim to look into
this next week when i am back from EuroPython ...

can you meanwhile post your Python version and attach the test
file that triggered the problems?

best & thanks,

holger


On Sat, Jul 12, 2008 at 10:50 +1200, Matthew Edwards wrote:
Hi

I'm running py 0.9.1 (from tarfile) on Windows XP. I've written a
couple of simple tests, which are in a folder called test. Whenever I
do "py.test --looponfailing test/" I get the following output:


inserting into sys.path: C:\Program Files\Python\Lib\site-packages
* opening PopenGateway:  C:\Program Files\Python\python.exe
Traceback (most recent call last):
  File "C:\Program
Files\Python\Lib\site-packages\py\bin\win32\\..\py.test", line 4, in
<module>
    py.test.cmdline.main()
  File "C:\Program Files\Python\Lib\site-packages\py\test\cmdline.py",
line 15, in main
    failures = session.main()
  File "C:\Program
Files\Python\Lib\site-packages\py\test\terminal\remote.py", line 82,
in main
    failures = self.run_remote_session(failures)
  File "C:\Program
Files\Python\Lib\site-packages\py\test\terminal\remote.py", line 100,
in run_remote_session

    gw, topdir = self._initslavegateway()
  File "C:\Program
Files\Python\Lib\site-packages\py\test\terminal\remote.py", line 97,
in _initslavegateway
    return py.execnet.PopenGateway(self.executable), topdir
  File "C:\Program
Files\Python\Lib\site-packages\py\execnet\register.py", line 66, in
__init__
    super(PopenGateway, self).__init__(cmd)
  File "C:\Program
Files\Python\Lib\site-packages\py\execnet\register.py", line 55, in
__init__
    super(PopenCmdGateway, self).__init__(io=io)
  File "C:\Program
Files\Python\Lib\site-packages\py\execnet\register.py", line 29, in
__init__
    self._remote_bootstrap_gateway(io)
  File "C:\Program
Files\Python\Lib\site-packages\py\execnet\register.py", line 80, in
_remote_bootstrap_gateway
    super(PopenGateway, self)._remote_bootstrap_gateway(io, s)
  File "C:\Program
Files\Python\Lib\site-packages\py\execnet\register.py", line 49, in
_remote_bootstrap_gateway
    io.write('%r\n' % source)
  File "C:\Program
Files\Python\Lib\site-packages\py\execnet\inputoutput.py", line 95, in
write
    self.outfile.write(data)
IOError: [Errno 22] Invalid argument

I can run the tests without --looponfailing.

Any help appreciated
Matthew
_______________________________________________
py-dev mailing list
py-dev@codespeak.net
http://codespeak.net/mailman/listinfo/py-dev


--
collaborative expert contracting: http://merlinux.eu
pylib py.test/greenlets/svn APIs: http://pylib.org
PyPy  Python/Compiler tool chain: http://codespeak.net/pypy
_______________________________________________
py-dev mailing list
py-dev@codespeak.net
http://codespeak.net/mailman/listinfo/py-dev

Attachment: execnet.patch
Description: Binary data

_______________________________________________
py-dev mailing list
py-dev@codespeak.net
http://codespeak.net/mailman/listinfo/py-dev

Reply via email to