done! http://bugs.python.org/issue25292?@ok_message=file%2040652%20created%0Amsg%20252052%20created%0Aissue%2025292%20created&@template=item
On Sunday, September 20, 2015 at 3:01:23 AM UTC-4, Andrew Svetlov wrote: > > Please file an issue on bugs.python.org > > On Sun, Sep 20, 2015 at 5:40 AM, Oleg K <[email protected] <javascript:>> > wrote: > > Hello, > > > > i have suspicion that there is a bug in ssl handshake implementation. > > can someone tell me email or any other contact of author of that file? > > asyncio/sslproto.py i wonder if they can help me to fix it? > > > > > > to make long story short: > > i am developing application with ssl websockets and have found a case > when > > sslproto gets into broken state. > > > > there is a function > > which suppose to write into socket > > > > def _write_appdata(self, data): > > self._write_backlog.append((data, 0)) > > self._write_buffer_size += len(data) > > self._process_write_backlog() > > > > > > actually - it just populates write backlog. and later it calls: > > > > def _process_write_backlog(self): > > # Try to make progress on the write backlog. > > if self._transport is None: > > return > > > > > > which is silently exits doing nothing, because transport is already > gone. > > and backlog keeps growing producing memory leak. no error is ever > raised. > > > > so what i found is: that it is happening when connection is just > > established, > > and immediately lost so lost_connection handler manages to set None to > > self._transport. > > > > and whole proto just thinks it finished a handshake but same time it > lost > > the transport. > > > > > > > > > > Regards, > > Oleg. > > > > -- > Thanks, > Andrew Svetlov >
