Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      -ea
      -Dtests.seed=9449688B90185FA5
      -Dtests.iters=100
      

      reproduces 100% for me, multiple thread leak out from newSearcher's internal threadfactory:

      Aug 02, 2012 8:46:05 AM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks
      SEVERE: 6 threads leaked from SUITE scope at org.apache.lucene.index.TestReaderClosed: 
         1) Thread[id=13, name=LuceneTestCase-1-thread-1, state=WAITING, group=TGRP-TestReaderClosed]
              at sun.misc.Unsafe.park(Native Method)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
         2) Thread[id=15, name=LuceneTestCase-3-thread-1, state=WAITING, group=TGRP-TestReaderClosed]
              at sun.misc.Unsafe.park(Native Method)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
         3) Thread[id=17, name=LuceneTestCase-5-thread-1, state=WAITING, group=TGRP-TestReaderClosed]
              at sun.misc.Unsafe.park(Native Method)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
         4) Thread[id=18, name=LuceneTestCase-6-thread-1, state=WAITING, group=TGRP-TestReaderClosed]
              at sun.misc.Unsafe.park(Native Method)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
         5) Thread[id=16, name=LuceneTestCase-4-thread-1, state=WAITING, group=TGRP-TestReaderClosed]
              at sun.misc.Unsafe.park(Native Method)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
         6) Thread[id=14, name=LuceneTestCase-2-thread-1, state=WAITING, group=TGRP-TestReaderClosed]
              at sun.misc.Unsafe.park(Native Method)
              at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
              at java.lang.Thread.run(Thread.java:722)
      

        Issue Links

          Activity

          Hide
          Robert Muir added a comment -

          Do we know if the problem happens from the method 'test' or from 'testReaderChaining'?

          here are my notes basically for 'test'. I think we could apply the same logic to 'testReaderChaining',
          but I want Uwe's opinion:

          @@ -65,6 +66,17 @@
                 searcher.search(query, 5);
               } catch (AlreadyClosedException ace) {
                 // expected
          +    } finally {
          +      // we may have wrapped the reader1 in newSearcher, meaning we created reader2(reader1)
          +      // but we only closed the inner reader1, not the reader2 which is the one with the
          +      // close hook to shut down the executor service.
          +      //
          +      // a better general solution is probably to fix LuceneTestCase.newSearcher to add 
          +      // the close hook to the underlying reader that was passed in (reader1), however
          +      // if we do that, is this test still just as good? we will get an exception from
          +      // IndexSearcher instead?
          +      IOUtils.close(searcher.getIndexReader());
               }
          

          I think we need Uwe to review

          Show
          Robert Muir added a comment - Do we know if the problem happens from the method 'test' or from 'testReaderChaining'? here are my notes basically for 'test'. I think we could apply the same logic to 'testReaderChaining', but I want Uwe's opinion: @@ -65,6 +66,17 @@ searcher.search(query, 5); } catch (AlreadyClosedException ace) { // expected + } finally { + // we may have wrapped the reader1 in newSearcher, meaning we created reader2(reader1) + // but we only closed the inner reader1, not the reader2 which is the one with the + // close hook to shut down the executor service. + // + // a better general solution is probably to fix LuceneTestCase.newSearcher to add + // the close hook to the underlying reader that was passed in (reader1), however + // if we do that, is this test still just as good? we will get an exception from + // IndexSearcher instead? + IOUtils.close(searcher.getIndexReader()); } I think we need Uwe to review
          Hide
          Dawid Weiss added a comment -

          Do we know if the problem happens from the method 'test' or from 'testReaderChaining'?

          I encourage you to use this for finding out (rr branch at https://github.com/dweiss/lucene_solr/)

          @ThreadLeakScope(Scope.TEST)
          @Repeat(iterations = 10)
          public class TestReaderClosed extends LuceneTestCase {
          

          In short: it's just the testReaderChaining method.

          Show
          Dawid Weiss added a comment - Do we know if the problem happens from the method 'test' or from 'testReaderChaining'? I encourage you to use this for finding out (rr branch at https://github.com/dweiss/lucene_solr/ ) @ThreadLeakScope(Scope.TEST) @Repeat(iterations = 10) public class TestReaderClosed extends LuceneTestCase { In short: it's just the testReaderChaining method.
          Hide
          Dawid Weiss added a comment -

          I'm talking about this particular seed though:

          -Dtests.seed=9449688B90185FA5
          

          With thread leak detection and warnings only:

          @ThreadLeakScope(Scope.TEST)
          @ThreadLeakLingering(linger = 1000)
          @ThreadLeakAction(value = {Action.WARN})
          @Repeat(iterations = 1000)
          public class TestReaderClosed extends LuceneTestCase {
          

          the 'test' method passes all 1000 iterations, the testReaderChaining fails about 20 times (2% failure rate).

          Show
          Dawid Weiss added a comment - I'm talking about this particular seed though: -Dtests.seed=9449688B90185FA5 With thread leak detection and warnings only: @ThreadLeakScope(Scope.TEST) @ThreadLeakLingering(linger = 1000) @ThreadLeakAction(value = {Action.WARN}) @Repeat(iterations = 1000) public class TestReaderClosed extends LuceneTestCase { the 'test' method passes all 1000 iterations, the testReaderChaining fails about 20 times (2% failure rate).
          Hide
          Dawid Weiss added a comment -

          Ok, I think this indeed affects other tests too. Last night's logs from the build server:

          ERROR   0.00s J0 | TestLazyProxSkipping (suite)
             > Throwable #1: com.carrotsearch.randomizedtesting.ThreadLeakError: 1 thread leaked from SUITE scope at org.apache.lucene.index.TestLazyProxSkipping: 
             >    1) Thread[id=183, name=LuceneTestCase-40-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping]
             >         at sun.misc.Unsafe.park(Native Method)
             >         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
             >         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
             >         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
             >         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
             >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
             >         at java.lang.Thread.run(Thread.java:619)
             > 	at __randomizedtesting.SeedInfo.seed([A3DFB2B2B64B7FB2]:0)
             > Throwable #2: com.carrotsearch.randomizedtesting.ThreadLeakError: There are still zombie threads that couldn't be terminated:
             >    1) Thread[id=183, name=LuceneTestCase-40-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping]
             >         at sun.misc.Unsafe.park(Native Method)
             >         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
             >         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
             >         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
             >         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
             >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
             >         at java.lang.Thread.run(Thread.java:619)
             > 	at __randomizedtesting.SeedInfo.seed([A3DFB2B2B64B7FB2]:0)
          
          Show
          Dawid Weiss added a comment - Ok, I think this indeed affects other tests too. Last night's logs from the build server: ERROR 0.00s J0 | TestLazyProxSkipping (suite) > Throwable #1: com.carrotsearch.randomizedtesting.ThreadLeakError: 1 thread leaked from SUITE scope at org.apache.lucene.index.TestLazyProxSkipping: > 1) Thread [id=183, name=LuceneTestCase-40-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping] > at sun.misc.Unsafe.park(Native Method) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) > at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > at java.lang. Thread .run( Thread .java:619) > at __randomizedtesting.SeedInfo.seed([A3DFB2B2B64B7FB2]:0) > Throwable #2: com.carrotsearch.randomizedtesting.ThreadLeakError: There are still zombie threads that couldn't be terminated: > 1) Thread [id=183, name=LuceneTestCase-40-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping] > at sun.misc.Unsafe.park(Native Method) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) > at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) > at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) > at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > at java.lang. Thread .run( Thread .java:619) > at __randomizedtesting.SeedInfo.seed([A3DFB2B2B64B7FB2]:0)
          Hide
          Dawid Weiss added a comment -

          That TestLazyProxSkipping test failed three builds last night so it's probably frequent.

          Show
          Dawid Weiss added a comment - That TestLazyProxSkipping test failed three builds last night so it's probably frequent.
          Hide
          Dawid Weiss added a comment -

          TestLazyProxSkipping again.

          [junit4:junit4] Suite: org.apache.lucene.index.TestLazyProxSkipping
          [junit4:junit4] OK      0.01s J0 | TestLazyProxSkipping.testSeek
          [junit4:junit4] OK      1.05s J0 | TestLazyProxSkipping.testLazySkipping
          [junit4:junit4]    > (@AfterClass output)
          [junit4:junit4]   2> Aug 06, 2012 3:47:18 PM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks
          [junit4:junit4]   2> WARNING: Will linger awaiting termination of 1 leaked thread(s).
          [junit4:junit4]   2> Aug 06, 2012 3:47:38 PM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks
          [junit4:junit4]   2> SEVERE: 1 thread leaked from SUITE scope at org.apache.lucene.index.TestLazyProxSkipping: 
          [junit4:junit4]   2>    1) Thread[id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping]
          [junit4:junit4]   2>         at sun.misc.Unsafe.park(Native Method)
          [junit4:junit4]   2>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
          [junit4:junit4]   2>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
          [junit4:junit4]   2>         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
          [junit4:junit4]   2>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
          [junit4:junit4]   2>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
          [junit4:junit4]   2>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
          [junit4:junit4]   2>         at java.lang.Thread.run(Thread.java:722)
          [junit4:junit4]   2> Aug 06, 2012 3:47:38 PM com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll
          [junit4:junit4]   2> INFO: Starting to interrupt leaked threads:
          [junit4:junit4]   2>    1) Thread[id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping]
          [junit4:junit4]   2> Aug 06, 2012 3:47:41 PM com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll
          [junit4:junit4]   2> SEVERE: There are still zombie threads that couldn't be terminated:
          [junit4:junit4]   2>    1) Thread[id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping]
          [junit4:junit4]   2>         at sun.misc.Unsafe.park(Native Method)
          [junit4:junit4]   2>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
          [junit4:junit4]   2>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
          [junit4:junit4]   2>         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
          [junit4:junit4]   2>         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
          [junit4:junit4]   2>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
          [junit4:junit4]   2>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
          [junit4:junit4]   2>         at java.lang.Thread.run(Thread.java:722)
          [junit4:junit4]   2> NOTE: test params are: codec=Lucene40: {tokens=PostingsFormat(name=MockRandom)}, sim=RandomSimilarityProvider(queryNorm=false,coord=false): {tokens=DFR I(n)B3(800.0)}, locale=sl, timezone=America/Resolute
          [junit4:junit4]   2> NOTE: Windows 7 6.1 amd64/Oracle Corporation 1.7.0_03 (64-bit)/cpus=8,threads=2,free=130600992,total=261095424
          [junit4:junit4]   2> NOTE: All tests run in this JVM: [TestBooleanOr, TestDirectory, TestMultiTermConstantScore, TestIndexFileDeleter, TestSetOnce, Nested1, TestStressIndexing2, TestRegexpRandom2, TestStressAdvance, TestSpansAdvanced, TestAssertions, TestFieldCacheRewriteMethod, TestPrefixInBooleanQuery, TestMultiPhraseQuery, TestMatchAllDocsQuery, TestLock, TestSimilarity2, TestNamedSPILoader, TestSort, TestBytesRefHash, TestOmitTf, TestVirtualMethod, TestLazyProxSkipping]
          [junit4:junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestLazyProxSkipping -Dtests.seed=55A3CB2FF25AC1A5 -Dtests.slow=true -Dtests.locale=sl -Dtests.timezone=America/Resolute -Dtests.file.encoding=ISO-8859-1
          [junit4:junit4]   2> 
          [junit4:junit4] ERROR   0.00s J0 | TestLazyProxSkipping (suite)
          [junit4:junit4]    > Throwable #1: com.carrotsearch.randomizedtesting.ThreadLeakError: 1 thread leaked from SUITE scope at org.apache.lucene.index.TestLazyProxSkipping: 
          [junit4:junit4]    >    1) Thread[id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping]
          [junit4:junit4]    >         at sun.misc.Unsafe.park(Native Method)
          [junit4:junit4]    >         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
          [junit4:junit4]    >         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
          [junit4:junit4]    >         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
          [junit4:junit4]    >         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
          [junit4:junit4]    >         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
          [junit4:junit4]    >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
          [junit4:junit4]    >         at java.lang.Thread.run(Thread.java:722)
          [junit4:junit4]    > 	at __randomizedtesting.SeedInfo.seed([55A3CB2FF25AC1A5]:0)
          [junit4:junit4]    > Throwable #2: com.carrotsearch.randomizedtesting.ThreadLeakError: There are still zombie threads that couldn't be terminated:
          [junit4:junit4]    >    1) Thread[id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping]
          [junit4:junit4]    >         at sun.misc.Unsafe.park(Native Method)
          [junit4:junit4]    >         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
          [junit4:junit4]    >         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
          [junit4:junit4]    >         at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
          [junit4:junit4]    >         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
          [junit4:junit4]    >         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
          [junit4:junit4]    >         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
          [junit4:junit4]    >         at java.lang.Thread.run(Thread.java:722)
          [junit4:junit4]    > 	at __randomizedtesting.SeedInfo.seed([55A3CB2FF25AC1A5]:0)
          [junit4:junit4]    >
          [junit4:junit4] Completed on J0 in 24.19s, 2 tests, 2 errors <<< FAILURES!
          [junit4:junit4]  
          
          Show
          Dawid Weiss added a comment - TestLazyProxSkipping again. [junit4:junit4] Suite: org.apache.lucene.index.TestLazyProxSkipping [junit4:junit4] OK 0.01s J0 | TestLazyProxSkipping.testSeek [junit4:junit4] OK 1.05s J0 | TestLazyProxSkipping.testLazySkipping [junit4:junit4] > (@AfterClass output) [junit4:junit4] 2> Aug 06, 2012 3:47:18 PM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks [junit4:junit4] 2> WARNING: Will linger awaiting termination of 1 leaked thread(s). [junit4:junit4] 2> Aug 06, 2012 3:47:38 PM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks [junit4:junit4] 2> SEVERE: 1 thread leaked from SUITE scope at org.apache.lucene.index.TestLazyProxSkipping: [junit4:junit4] 2> 1) Thread [id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping] [junit4:junit4] 2> at sun.misc.Unsafe.park(Native Method) [junit4:junit4] 2> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) [junit4:junit4] 2> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) [junit4:junit4] 2> at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) [junit4:junit4] 2> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) [junit4:junit4] 2> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) [junit4:junit4] 2> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [junit4:junit4] 2> at java.lang. Thread .run( Thread .java:722) [junit4:junit4] 2> Aug 06, 2012 3:47:38 PM com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll [junit4:junit4] 2> INFO: Starting to interrupt leaked threads: [junit4:junit4] 2> 1) Thread [id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping] [junit4:junit4] 2> Aug 06, 2012 3:47:41 PM com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll [junit4:junit4] 2> SEVERE: There are still zombie threads that couldn't be terminated: [junit4:junit4] 2> 1) Thread [id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping] [junit4:junit4] 2> at sun.misc.Unsafe.park(Native Method) [junit4:junit4] 2> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) [junit4:junit4] 2> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) [junit4:junit4] 2> at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) [junit4:junit4] 2> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) [junit4:junit4] 2> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) [junit4:junit4] 2> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [junit4:junit4] 2> at java.lang. Thread .run( Thread .java:722) [junit4:junit4] 2> NOTE: test params are: codec=Lucene40: {tokens=PostingsFormat(name=MockRandom)}, sim=RandomSimilarityProvider(queryNorm= false ,coord= false ): {tokens=DFR I(n)B3(800.0)}, locale=sl, timezone=America/Resolute [junit4:junit4] 2> NOTE: Windows 7 6.1 amd64/Oracle Corporation 1.7.0_03 (64-bit)/cpus=8,threads=2,free=130600992,total=261095424 [junit4:junit4] 2> NOTE: All tests run in this JVM: [TestBooleanOr, TestDirectory, TestMultiTermConstantScore, TestIndexFileDeleter, TestSetOnce, Nested1, TestStressIndexing2, TestRegexpRandom2, TestStressAdvance, TestSpansAdvanced, TestAssertions, TestFieldCacheRewriteMethod, TestPrefixInBooleanQuery, TestMultiPhraseQuery, TestMatchAllDocsQuery, TestLock, TestSimilarity2, TestNamedSPILoader, TestSort, TestBytesRefHash, TestOmitTf, TestVirtualMethod, TestLazyProxSkipping] [junit4:junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestLazyProxSkipping -Dtests.seed=55A3CB2FF25AC1A5 -Dtests.slow= true -Dtests.locale=sl -Dtests.timezone=America/Resolute -Dtests.file.encoding=ISO-8859-1 [junit4:junit4] 2> [junit4:junit4] ERROR 0.00s J0 | TestLazyProxSkipping (suite) [junit4:junit4] > Throwable #1: com.carrotsearch.randomizedtesting.ThreadLeakError: 1 thread leaked from SUITE scope at org.apache.lucene.index.TestLazyProxSkipping: [junit4:junit4] > 1) Thread [id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping] [junit4:junit4] > at sun.misc.Unsafe.park(Native Method) [junit4:junit4] > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) [junit4:junit4] > at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) [junit4:junit4] > at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) [junit4:junit4] > at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) [junit4:junit4] > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) [junit4:junit4] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [junit4:junit4] > at java.lang. Thread .run( Thread .java:722) [junit4:junit4] > at __randomizedtesting.SeedInfo.seed([55A3CB2FF25AC1A5]:0) [junit4:junit4] > Throwable #2: com.carrotsearch.randomizedtesting.ThreadLeakError: There are still zombie threads that couldn't be terminated: [junit4:junit4] > 1) Thread [id=116, name=LuceneTestCase-18-thread-1, state=WAITING, group=TGRP-TestLazyProxSkipping] [junit4:junit4] > at sun.misc.Unsafe.park(Native Method) [junit4:junit4] > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) [junit4:junit4] > at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) [junit4:junit4] > at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) [junit4:junit4] > at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) [junit4:junit4] > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) [junit4:junit4] > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [junit4:junit4] > at java.lang. Thread .run( Thread .java:722) [junit4:junit4] > at __randomizedtesting.SeedInfo.seed([55A3CB2FF25AC1A5]:0) [junit4:junit4] > [junit4:junit4] Completed on J0 in 24.19s, 2 tests, 2 errors <<< FAILURES! [junit4:junit4]
          Hide
          Michael McCandless added a comment -

          I committed a fix for TestLazyProxSkipping (it wasn't closing the reader).

          Show
          Michael McCandless added a comment - I committed a fix for TestLazyProxSkipping (it wasn't closing the reader).

            People

            • Assignee:
              Robert Muir
              Reporter:
              Dawid Weiss
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:

                Development