report: bzr selftest hangs on win32

Alexander Belchenko bialix at ukr.net
Thu Sep 21 14:27:15 BST 2006


Andrew Bennetts пишет:
> On Wed, Sep 20, 2006 at 12:23:20PM +0300, Alexander Belchenko wrote:
>> bzr.dev revno 2022 frozen for 0.11 release.
>>
>> Today I ran selftest on my win32 box.
>>
>> The selftest hang on test that name ends with
>> '..._transport.WritableEndToEndTests.test_get_error_enoent'.
> 
> That's a serious problem.  I might try installing python on my windows partition
> and see if I can reproduce this.
> 
>> Failed tests so far:
>>
>> test_diff.TestDiffFiles.test_external_diff_binary         FAIL         511ms
>> test_merge_core.MergeTest.test_contents_merge2            FAIL        1973ms
>> ..._transport.SFTPTransportTestRelative.test__remote_path FAIL          29ms
>> ...transport.SSHVendorConnection.test_connection_paramikoERROR        1402ms
>> ...smart_transport.BasicSmartTests.test_server_subprocessERROR           9ms
>> ...art_transport.BasicSmartTests.test_smart_query_versionERROR           9ms
>> ...ransport.TCPClientTests.test_get_client_from_transportERROR           9ms
>> test_smart_transport.TCPClientTests.test_plausible_url   ERROR          19ms
>> test_smart_transport.TCPClientTests.test_probe_transport ERROR           9ms
> 
> Can you get the tracebacks for any of these?

In attachment you can see tracebacks for those test_smart_transport
tests that I can run.


> I suspect several of them are due
> to this method in smart.py:
> 
>     def get_url(self):
>         """Return the url of the server"""
>         host, port = self._server_socket.getsockname()
>         # XXX: I think this is likely to break on windows -- self._homedir will
>         # have backslashes (and maybe a drive letter?).
>         #  -- Andrew Bennetts, 2006-08-29
>         return "bzr://%s:%d%s" % (host, port, urlutils.escape(self._homedir))
> 
> But it would help to have more information.
> 
> [...]
>> <bzrlib.transport.smart.SmartStreamServer object at 0x0276D2B0>
>> terminating on exception (10035, 'The socket operation could not
>> complete without blocking')
>> Exception in thread smart-server-child:
>> Traceback (most recent call last):
>>   File "E:\Python24\lib\threading.py", line 442, in __bootstrap
>>     self.run()
>>   File "E:\Python24\lib\threading.py", line 422, in run
>>     self.__target(*self.__args, **self.__kwargs)
>>   File "D:\Bazaar\sandbox\bzr.dev\bzrlib\transport\smart.py", line 306,
>> in serve
>>     while self._serve_one_request() != False:
>>   File "D:\Bazaar\sandbox\bzr.dev\bzrlib\transport\smart.py", line 284,
>> in _serve_one_request
>>     req_args = self._recv_tuple()
>>   File "D:\Bazaar\sandbox\bzr.dev\bzrlib\transport\smart.py", line 268,
>> in _recv_tuple
>>     return _recv_tuple(self._in)
>>   File "D:\Bazaar\sandbox\bzr.dev\bzrlib\transport\smart.py", line 172,
>> in _recv_tuple
>>     req_line = from_file.readline()
>>   File "E:\Python24\lib\socket.py", line 340, in readline
>>     data = self._sock.recv(self._rbufsize)
>> error: (10035, 'The socket operation could not complete without blocking')
> 
> This is odd.  It may be the cause of some of the test failures, but I'm not sure
> why that socket would be non-blocking... oh, it's probably because of this line in
> SmartTCPServer.__init__:
> 
>         self._server_socket.settimeout(1)
> 
> socket.settimeout works internally by making the socket non-blocking.
> 
> Alexander, could you try commenting out that line and see if it helps?

I comment this line and get this output:

$ python bzr --no-plugins selftest -v
test_smart_transport.WritableEndToEndTests.test_get_error_enoent

         bzr: D:/Bazaar/sandbox/andrew.smart-server/bzr
      bzrlib: D:\Bazaar\sandbox\andrew.smart-server\bzrlib

running tests...
test_smart_transport.WritableEndToEndTests.test_get_error_enoent
                                      OK         180ms

----------------------------------------------------------------------
Ran 1 test in 0.231s

OK
tests passed
<bzrlib.transport.smart.SmartStreamServer object at 0x01D7BFB0>
terminating on exception 'NoneType' object is not callable
Exception in thread smart-server-child (most likely raised during
interpreter shutdown):
Traceback (most recent call last):
    File "E:\Python24\lib\threading.py", line 442, in __bootstrap
    File "E:\Python24\lib\threading.py", line 422, in run
    File
"D:\Bazaar\sandbox\andrew.smart-server\bzrlib\transport\smart.py", line
306, in serve
    File
"D:\Bazaar\sandbox\andrew.smart-server\bzrlib\transport\smart.py", line
284, in _serve_one_request
    File
"D:\Bazaar\sandbox\andrew.smart-server\bzrlib\transport\smart.py", line
268, in _recv_tuple
exceptions.TypeError: 'NoneType' object is not callable


Test seems to pass but you can see strange traceback.

--
Alexander


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: testing.log
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20060921/faa19830/attachment.diff 


More information about the bazaar mailing list