smart server emits traceback while get log via bzr protocol

Bug #175572 reported by Alexander Belchenko on 2007-12-11
2
Affects Status Importance Assigned to Milestone
Bazaar
Medium
Andrew Bennetts

Bug Description

I run smart server on the win32 machine, in the root of pack shared repo with following command:

bzr serve

Many commands works as expected, and even log command works, but each time command stops printing revisions I have traceback in the server console. But server itself still working and continue to respond on subsequent requests.

<bzrlib.smart.medium.SmartServerSocketStreamMedium object at 0x012DDF90> terminating on exception (10054, 'Connection reset by peer')
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 "E:\Python24\Lib\site-packages\bzrlib\smart\medium.py", line 72, in serve

    server_protocol = self._build_protocol()
  File "E:\Python24\Lib\site-packages\bzrlib\smart\medium.py", line 88, in _buil
d_protocol
    bytes = self._get_line()
  File "E:\Python24\Lib\site-packages\bzrlib\smart\medium.py", line 132, in _get
_line
    new_char = self._get_bytes(1)
  File "E:\Python24\Lib\site-packages\bzrlib\smart\medium.py", line 170, in _get
_bytes
    return self.socket.recv(4096)
error: (10054, 'Connection reset by peer')

description: updated
John A Meinel (jameinel) wrote :

It seems we are just not catching and suppressing the client disconnecting. We already trap for
                    except self._socket_timeout:
                        # just check if we're asked to stop
                        pass
                    except self._socket_error, e:
                        # if the socket is closed by stop_background_thread
                        # we might get a EBADF here, any other socket errors
                        # should get logged.
                        if e.args[0] != errno.EBADF:
                            trace.warning("listening socket error: %s", e)

I suppose it is also possible that it is the SmartServerSocketStreamMedium which needs the exception trapping.

Changed in bzr:
importance: Undecided → Medium
status: New → Triaged
Alexander Belchenko (bialix) wrote :

I got traceback from smart server on many other commands like: pull, commit, branch etc.

Matthew Fuller (fullermd) wrote :

Is this really still open?

fullermd пишет:
> Is this really still open?

bzr serve@win32 in 1.5 and 1.9rc1 still produce traceback.

What "really" means for you?

Matthew Fuller (fullermd) wrote :

> What "really" means for you?

Hm, I guess that came across more incredulous-sounding than I meant it.

Just noticed that this is 11 months old with no comments, and it doesn't seem to happen here or ever that I've seen, and was checking if it had been fixed and forgotten.

Alexander Belchenko (bialix) wrote :

2 Andrew Bennetts:

Does bzr.dev revno.4419 fixes this problem?

Andrew Bennetts (spiv) wrote :

Alexander: yes, I believe it does. Thanks for pointing that out!

So, I'm closing this bug, but I don't actually have Windows locally so please reopen it if I'm wrong.

Changed in bzr:
assignee: nobody → Andrew Bennetts (spiv)
milestone: none → 1.16
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers