The JDK ORB creates ReaderThreads that are never destroyed. If an app
creates and destroys ORBs its ThreadCount goes up forever. This is a
big problem for production systems. I attach a test case. After 10
iterations the thread count is 13 after 100 iterations the thread count
is 103:
1.4.1_02:
----------
java -classpath . test.ReaderTest 10
Current threads: 2
After 10 iterations, current threads: 13
java -classpath . test.ReaderTest 100
Current threads: 2
After 100 iterations, current threads: 103
1.3.1_07:
---------
java -classpath . test.ReaderTest 10
Current threads: 1
After 10 iterations, current threads: 12
java -classpath . test.ReaderTest 100
Current threads: 1
After 100 iterations, current threads: 102
We would expect that ORB.shutdown would also clean up the reader
threads, or at the very least a System.gc() on an unreferenced ORB
would clean them up - but neither has any affect.
Attached is the testcase ( copy the IOR when you start tnameserv to
TestIOR in your home directory )
creates and destroys ORBs its ThreadCount goes up forever. This is a
big problem for production systems. I attach a test case. After 10
iterations the thread count is 13 after 100 iterations the thread count
is 103:
1.4.1_02:
----------
java -classpath . test.ReaderTest 10
Current threads: 2
After 10 iterations, current threads: 13
java -classpath . test.ReaderTest 100
Current threads: 2
After 100 iterations, current threads: 103
1.3.1_07:
---------
java -classpath . test.ReaderTest 10
Current threads: 1
After 10 iterations, current threads: 12
java -classpath . test.ReaderTest 100
Current threads: 1
After 100 iterations, current threads: 102
We would expect that ORB.shutdown would also clean up the reader
threads, or at the very least a System.gc() on an unreferenced ORB
would clean them up - but neither has any affect.
Attached is the testcase ( copy the IOR when you start tnameserv to
TestIOR in your home directory )
- relates to
-
JDK-4946991 ONLY RH7.3 vs 1.3.1xx: Regression test fails for 4799941: ORB.shutdown does not
- Closed