Issue2584

classification
Title: netty threads not terminated during regrtest
Type: behaviour Severity: minor
Components: Core Versions: Jython 2.7
Milestone:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: jamesmudd, zyasoft
Priority: Keywords:

Created on 2017-05-01.13:59:04 by jamesmudd, last changed 2017-05-19.03:06:52 by zyasoft.

Messages
msg11336 (view) Author: James Mudd (jamesmudd) Date: 2017-05-01.13:59:03
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
msg11384 (view) Author: Jim Baker (zyasoft) Date: 2017-05-19.03:06:51
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.
History
Date User Action Args
2017-05-19 03:06:52zyasoftsetnosy: + zyasoft
messages: + msg11384
2017-05-01 13:59:04jamesmuddcreate