Description
This happens on IBM JDK (some system thread or what have you).
its 100% reproducible if you just cd lucene/analysis/smartcn and run 'ant test': we time out waiting for the thread to die and fail like this:
[junit4] Suite: org.apache.lucene.analysis.cn.smart.TestHMMChineseTokenizerFactory [junit4] 2> Jun 03, 2015 12:30:39 PM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks [junit4] 2> WARNING: Will linger awaiting termination of 1 leaked thread(s). [junit4] 2> Jun 03, 2015 12:30:59 PM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks [junit4] 2> SEVERE: 1 thread leaked from SUITE scope at org.apache.lucene.analysis.cn.smart.TestHMMChineseTokenizerFactory: [junit4] 2> 1) Thread[id=27, name=ClassCache Reaper, state=WAITING, group=TGRP-TestHMMChineseTokenizerFactory] [junit4] 2> at java.lang.Object.wait(Native Method) [junit4] 2> at java.lang.Object.wait(Object.java:201) [junit4] 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:119) [junit4] 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:91) [junit4] 2> at java.io.ClassCache$Reaper.run(ClassCache.java:222) [junit4] 2> Jun 03, 2015 12:30:59 PM com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll [junit4] 2> INFO: Starting to interrupt leaked threads: [junit4] 2> 1) Thread[id=27, name=ClassCache Reaper, state=WAITING, group=TGRP-TestHMMChineseTokenizerFactory] [junit4] 2> Jun 03, 2015 12:31:02 PM com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll [junit4] 2> SEVERE: There are still zombie threads that couldn't be terminated: [junit4] 2> 1) Thread[id=27, name=ClassCache Reaper, state=WAITING, group=TGRP-TestHMMChineseTokenizerFactory] [junit4] 2> at java.lang.Object.wait(Native Method) [junit4] 2> at java.lang.Object.wait(Object.java:201) [junit4] 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:119) [junit4] 2> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:91) [junit4] 2> at java.io.ClassCache$Reaper.run(ClassCache.java:222) [junit4] 2> NOTE: test params are: codec=Asserting(Lucene50): {}, docValues:{}, sim=RandomSimilarityProvider(queryNorm=true,coord=no): {}, locale=ar_JO, timezone=Europe/Andorra [junit4] 2> NOTE: Linux 3.13.0-49-generic amd64/IBM Corporation 1.8.0 (64-bit)/cpus=8,threads=2,free=1204464,total=20643840 [junit4] 2> NOTE: All tests run in this JVM: [TestHMMChineseTokenizerFactory] [junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestHMMChineseTokenizerFactory -Dtests.seed=4546D15E2A47A285 -Dtests.locale=ar_JO -Dtests.timezone=Europe/Andorra -Dtests.asserts=true -Dtests.file.encoding=UTF-8