<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16674" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>I managed to find where the readfrom code was. I 
added trace to the exec_net.Message class and it show that the initial 0x00 
bytes is not recieved in readfrom.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>* writeto:<BR>header = (3, 1, 3, 0)<BR>Length: 12, 
Binary: 0x['00', '03', '00', '01', '00', '00', '00', '03', '00', '00', '00', 
'00']</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;</DIV></FONT>
<DIV><FONT face=Arial size=2>* readfrom:<BR>header = (768, 256, 768, 
0)<BR>Length: 12, Binary: 0x['03', '00', '01', '00', '00', '00', '03', '00', 
'00', '00', '00', '00']</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Now, were it gets weird is that I can get py.test 
-f working by adding the traces. I definetly get some non determinist behaviour 
there. The bug may be caused by some race condition that somehow has become more 
likely to occur.</DIV></FONT>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Another stuff that I don't understand: 
</FONT></DIV>
<DIV><FONT face=Arial size=2>I copied the mecanism from gateway.py to declare 
the "log" (the debug variable), and if the "log" variable is also named debug, 
then on the slave side, both message and gateway&nbsp;traces end-up in the 
message "log". The gateway log is created but never written into. Is it caused 
by the "magic" that send python code to the slave ?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Baptiste.</FONT></DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=blep@users.sourceforge.net 
  href="mailto:blep@users.sourceforge.net">Baptiste Lepilleur</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=py-dev@codespeak.net 
  href="mailto:py-dev@codespeak.net">py-dev@codespeak.net</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, July 05, 2008 10:03 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> [py-dev] py.test --looponfailing 
  started failing on Windows...</DIV>
  <DIV><BR></DIV>
  <DIV><FONT face=Arial size=2>I'm stuck with this weird issue. py.test -f has 
  worked perfectly for more than one month, but yesterday I got my first failure 
  as shown below. The weird thing is that it restarted worked fine after failing 
  a few times, but this morning it is impossible to get it 
  working...</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Environment: Python 2.5.2 on Windows XP SP3 32 
  bits and py-0.9.1 install via setup.py.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Below are the failure output when I start py.test 
  -f, and the debug ouput of the gateway trace that I enabled. Anyone know how 
  to get useful information about the remote exception (like source code... to 
  help understand where this ValueError come from ?)</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>I tried to run the gateway unit test, but they 
  always get stuck. The strange thing is that it seems to be depend on how they 
  are started with py.test: </FONT></DIV>
  <DIV><FONT face=Arial size=2>If I starts the test with disabled stdout capture 
  (py.test -v -s) , then the test remain stuck on:</FONT></DIV>
  <DIV><FONT face=Arial size=2>&nbsp;test_gateway.py:91&nbsp;&nbsp; 
  TestPopenGateway().test_correct_setup_no_py,</FONT></DIV>
  <DIV><FONT face=Arial size=2>If I starts the test normally (py.test -v), then 
  test run go farther but get stuck on:</FONT></DIV>
  <DIV><FONT face=Arial size=2>test_gateway.py:405&nbsp; 
  TestPopenGateway().test_chdir_separation</FONT></DIV>
  <DIV><FONT face=Arial size=2>Gateway debug trace for unit test do not show any 
  ValueError exception...</FONT></DIV>
  <DIV><FONT face=Arial size=2>Unit tests output is at the end of the 
  mail.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Any help to understand where I should add traces 
  in the code to understand what is going on would be greatly 
  appreciated.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Thanks,</FONT></DIV>
  <DIV><FONT face=Arial size=2>Baptiste.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>* The failure:</FONT></DIV>
  <DIV><FONT face=Arial 
  size=2>E:\prg\py\App\sbuilder\build\src\sbuilder\testing&gt;py.test.py&nbsp; 
  -f<BR>* opening PopenGateway:&nbsp; C:\Python25\python.exe<BR>MASTER: 
  initiated slave terminal session -&gt;<BR>MASTER: send start info, 
  topdir=E:\prg\py\App\sbuilder\build\src<BR>Traceback (most recent call 
  last):<BR>&nbsp; File 
  "E:\prg\py\App\sbuilder\build\src\sbuilder\testing\py.test.py", line 4, in 
  &lt;module&gt;<BR>&nbsp;&nbsp;&nbsp; py.test.cmdline.main()<BR>&nbsp; File 
  "c:\Python25\lib\site-packages\py\test\cmdline.py", line 15, in 
  main<BR>&nbsp;&nbsp;&nbsp; failures = session.main()<BR>&nbsp; File 
  "C:\Python25\lib\site-packages\py\test\terminal\remote.py", line 82, in 
  main<BR>&nbsp;&nbsp;&nbsp; failures = 
  self.run_remote_session(failures)<BR>&nbsp; File 
  "C:\Python25\lib\site-packages\py\test\terminal\remote.py", line 111, in 
  run_remote_session<BR>&nbsp;&nbsp;&nbsp; return channel.receive()<BR>&nbsp; 
  File "C:\Python25\lib\site-packages\py\execnet\channel.py", line 175, in 
  receive<BR>&nbsp;&nbsp;&nbsp; raise self._getremoteerror() or 
  EOFError()<BR>EOFError</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>I enabled the gateway trace I found:</FONT></DIV>
  <DIV><FONT face=Arial size=2>**** execnet-debug-3420:</FONT></DIV>
  <DIV><FONT face=Arial size=2>sending gateway bootstrap 
  code<BR>Channel(3).__del__<BR>sent -&gt; &lt;Message.CHANNEL_LAST_MESSAGE 
  channelid=3 ''&gt;<BR>Channel(5).__del__<BR>sent -&gt; 
  &lt;Message.CHANNEL_LAST_MESSAGE channelid=5 ''&gt;<BR>sent -&gt; 
  &lt;Message.CHANNEL_OPEN channelid=1 len=111&gt;<BR>sent -&gt; 
  &lt;Message.CHANNEL_DATA channelid=1 len=456&gt;<BR>leaving 
  &lt;Thread(receiver, started daemon)&gt;<BR>====================cleaning 
  up====================<BR>Channel(1).__del__<BR></FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>*** execnet-debug-2308&nbsp;</DIV></FONT>
  <DIV><FONT face=Arial size=2>Traceback (most recent call last):<BR>&nbsp; File 
  "&lt;string&gt;", line 359, in _thread_receiver<BR>&nbsp; File 
  "&lt;string&gt;", line 626, in readfrom<BR>ValueError: bad data 
  format</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>leaving &lt;Thread(receiver, started 
  daemon)&gt;<BR>_servemain finished<BR>====================cleaning 
  up====================<BR></FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>*** Results of running the unit tests for 
  exec_net module</DIV></FONT>
  <DIV><FONT face=Arial 
  size=2>C:\Python25\Lib\site-packages\py\execnet\testing&gt;python 
  c:\Python25\Lib\site-packages\py\bin\py.test&nbsp;-v<BR>inserting into 
  sys.path: C:\Python25\Lib\site-packages<BR>============================= test 
  process starts =============================<BR>executable:&nbsp;&nbsp; 
  c:\Python25\python.exe&nbsp; (2.5.2-final-0)<BR>using py lib: 
  C:\Python25\Lib\site-packages\py &lt;rev unknown&gt;<BR>test target:&nbsp; 
  C:\Python25\Lib\site-packages\py\execnet\testing<BR>initial conf 0: 
  C:\Python25\Lib\site-packages\py\test\defaultconftest.pyc<BR>initial conf 1: 
  C:\Python25\Lib\site-packages\py\conftest.pyc</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV><FONT face=Arial size=2>
  <DIV><BR>+ testmodule: 
  C:\Python25\Lib\site-packages\py\execnet\testing\test_gateway.py<BR>register.py:20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  test_getsource_import_modules[0] ok 
  (0.00)<BR>register.py:20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  test_getsource_import_modules[1] ok 
  (0.00)<BR>register.py:20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  test_getsource_import_modules[2] ok 
  (0.00)<BR>register.py:20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  test_getsource_import_modules[3] ok 
  (0.00)<BR>register.py:20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  test_getsource_import_modules[4] ok (0.00)<BR>test_gateway.py:17&nbsp;&nbsp; 
  test_getsource_no_colision ok (0.00)<BR>test_gateway.py:30&nbsp;&nbsp; 
  test_stdouterrin_setnull ok (0.02)<BR>test_gateway.py:45&nbsp;&nbsp; 
  TestMessage().test_wire_protocol ok (0.00)<BR>test_gateway.py:61&nbsp;&nbsp; 
  TestPureChannel().test_factory_create ok 
  (0.00)<BR>test_gateway.py:67&nbsp;&nbsp; 
  TestPureChannel().test_factory_getitem ok 
  (0.00)<BR>test_gateway.py:73&nbsp;&nbsp; 
  TestPureChannel().test_channel_timeouterror ok 
  (0.02)<BR>test_gateway.py:85&nbsp;&nbsp; TestPopenGateway().test_correct_setup 
  ok (0.08)<BR>test_gateway.py:88&nbsp;&nbsp; 
  TestPopenGateway().test_repr_doesnt_crash ok 
  (0.00)<BR>test_gateway.py:91&nbsp;&nbsp; 
  TestPopenGateway().test_correct_setup_no_py ok 
  (0.02)<BR>test_gateway.py:100&nbsp; 
  TestPopenGateway().test_remote_exec_waitclose ok 
  (0.00)<BR>test_gateway.py:104&nbsp; 
  TestPopenGateway().test_remote_exec_waitclose_2 ok 
  (0.00)<BR>test_gateway.py:108&nbsp; 
  TestPopenGateway().test_remote_exec_waitclose_noarg ok 
  (0.00)<BR>test_gateway.py:112&nbsp; 
  TestPopenGateway().test_remote_exec_error_after_close ok 
  (0.00)<BR>test_gateway.py:117&nbsp; 
  TestPopenGateway().test_remote_exec_channel_anonymous ok 
  (0.00)<BR>test_gateway.py:126&nbsp; 
  TestPopenGateway().test_channel_close_and_then_receive_error ok 
  (0.00)<BR>test_gateway.py:130&nbsp; 
  TestPopenGateway().test_channel_finish_and_then_EOFError ok 
  (0.00)<BR>test_gateway.py:138&nbsp; 
  TestPopenGateway().test_channel_close_and_then_receive_error_multiple ok 
  (0.00)</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>test_gateway.py:144&nbsp; TestPopenGateway().test_channel__local_close ok 
  (0.00)<BR>test_gateway.py:149&nbsp; 
  TestPopenGateway().test_channel__local_close_error ok 
  (0.00)<BR>test_gateway.py:155&nbsp; 
  TestPopenGateway().test_channel_error_reporting ok 
  (0.00)<BR>test_gateway.py:166&nbsp; 
  TestPopenGateway().test_channel_syntax_error ok 
  (0.00)<BR>test_gateway.py:175&nbsp; TestPopenGateway().test_channel_iter ok 
  (0.00)<BR>test_gateway.py:183&nbsp; 
  TestPopenGateway().test_channel_passing_over_channel ok 
  (0.00)<BR>test_gateway.py:202&nbsp; 
  TestPopenGateway().test_channel_receiver_callback ok 
  (0.00)<BR>test_gateway.py:217&nbsp; 
  TestPopenGateway().test_channel_callback_after_receive ok 
  (0.02)<BR>test_gateway.py:233&nbsp; 
  TestPopenGateway().test_waiting_for_callbacks ok 
  (0.22)<BR>test_gateway.py:245&nbsp; 
  TestPopenGateway().test_channel_callback_stays_active ok 
  (0.75)<BR>test_gateway.py:275&nbsp; 
  TestPopenGateway().test_channel_callback_remote_freed ok 
  (0.75)<BR>test_gateway.py:279&nbsp; 
  TestPopenGateway().test_channel_endmarker_callback ok 
  (0.00)<BR>test_gateway.py:294&nbsp; 
  TestPopenGateway().test_remote_redirect_stdout ok 
  (0.00)<BR>test_gateway.py:303&nbsp; 
  TestPopenGateway().test_remote_exec_redirect_multi ok 
  (0.00)<BR>test_gateway.py:318&nbsp; TestPopenGateway().test_channel_file ok 
  (0.00)<BR>test_gateway.py:330&nbsp; 
  TestPopenGateway().test_channel_file_write_error ok 
  (0.00)<BR>test_gateway.py:336&nbsp; 
  TestPopenGateway().test_channel_file_proxyclose ok 
  (0.02)<BR>test_gateway.py:347&nbsp; 
  TestPopenGateway().test_confusion_from_os_write_stdout ok 
  (0.00)<BR>test_gateway.py:361&nbsp; 
  TestPopenGateway().test_confusion_from_os_write_stderr ok 
  (0.00)<BR>test_gateway.py:375&nbsp; 
  TestPopenGateway().test_non_reverse_execution ok 
  (0.03)<BR>test_gateway.py:405&nbsp; TestPopenGateway().test_chdir_separation 
  ^C<BR>C:\Python25\Lib\site-packages\py\execnet\testing&gt;</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>---<BR>Baptiste Lepilleur &lt;<A 
  href="mailto:blep@users.sourceforge.net">blep@users.sourceforge.net</A>&gt;<BR></FONT></DIV>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>py-dev mailing 
  list<BR>py-dev@codespeak.net<BR>http://codespeak.net/mailman/listinfo/py-dev<BR></BLOCKQUOTE></BODY></HTML>