Description
- uvloop 0.4.33:
- python 3.5.1, 3.5.2:
- platform Mac OS X, Ubuntu 16.04/4.4.12-boot2docker:
I need some suggestions for debugging server startup hangs.
Startup code looks like:
cr = loop.create_server(self.factory, addr[0], addr[1],
reuse_address=True, ssl=ssl)
f = asyncio.async(cr, loop=loop)
server = loop.run_until_complete(f)
What's sometimes happening, in the context of the ZEO tests, is that the run_loop_until_complete
call above never returns.
This is in a port of ZEO, github.com/zopefoundation/ZEO, to asyncio. The ZEO tests are exhaustive, and I suspect in uvloop's case, exhausting. :) The tests start and stop servers 10s, maybe 100s of times in a test runs that typically lasts a few minutes. If I run a smaller subset of the tests I don't get a hang.
Most tests run the server as a subprocess using multiprocessing. Some tests run the server using threading. It appears that the server isn't exiting, but merely hanging.
Do you have any suggestions for how to debug this? I've tried setting PYTHONASYNCIODEBUG=1 and enabling debug logging, but that isn't yielding any additional information..