Created on 2017-05-01.13:59:04 by jamesmudd, last changed 2017-05-19.03:06:52 by zyasoft.
|Author: James Mudd (jamesmudd)
If you run the regression tests and watch the threads using the debugger, you can see that many tests leave netty threads running after that test should have been teared down. There seems to be lots of these >50. These threads are named Jython-Netty-Child-XXX where I think XXX is just a counter. To see this I am running 'java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1045 -jar jython.jar Lib/test/regrtest.py' and then connecting using Eclipse remote debugger. I don't think this is actually causing any issues but its not very nice that tests leave stuff behind. I wonder if this is related to the errors seen during netty finalization issue #2517
|Author: Jim Baker (zyasoft)
James, I suspect it is related to #2517 - nearly all of these tests are from CPython and many are fairly abusive with respect to how they manage socket communication and subsequent cleanup. This especially seems to be the case with respect to how GC interacts here. Not certain what more we can do other than more carefully go through our socket code to ensure mapping between C socket and Netty semantics, both of which seem to be rather undocumented in these scenarios.
messages: + msg11384