Yury Selivanov added the comment:

> Why are you using 20000 threads?

That's a good question.

In any case it looks like self-pipe sock's buffer was overflown because 
call_soon_threadsafe was called too many times, and loop._read_from_self 
couldn't empty the buffer promptly.  Then, at some point, _write_to_self failed 
with an IOError.

It looks like this was fixed for the selector loop, but not for proactor:

selector_events.py:

    def _write_to_self(self):
        csock = self._csock
        if csock is not None:
            try:
                csock.send(b'\0')
            except OSError:
                if self._debug:
                    logger.debug("Fail to write a null byte into the "
                                 "self-pipe socket",
                                 exc_info=True)

proactor_events.py:

    def _write_to_self(self):
        self._csock.send(b'\0')

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23846>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to