OpenHFT/Chronicle-Queue

AppenderFileHandleLeakTest is flaky

peter-lawrey opened this issue · 0 comments

It has failed a few times recently.

org.opentest4j.MultipleFailuresError: Multiple Failures (2 failures)
 java.util.concurrent.ExecutionException: net.openhft.chronicle.wire.UnrecoverableTimeoutException: Couldn't acquire write lock after 15000 ms for the lock file:target/appenderAndTailerResourcesShouldBeCleanedUpByGarbageCollection-78-go2s18086e/metadata.cq4t. Lock was held by me. You can manually unlock with net.openhft.chronicle.queue.main.UnlockMain
 java.lang.AssertionError: Closeables still open
org.opentest4j.MultipleFailuresError:
Multiple Failures (2 failures)
  java.util.concurrent.ExecutionException: net.openhft.chronicle.wire.UnrecoverableTimeoutException: Couldn't acquire write lock after 15000 ms for the lock file:target/appenderAndTailerResourcesShouldBeCleanedUpByGarbageCollection-78-go2s18086e/metadata.cq4t. Lock was held by me. You can manually unlock with net.openhft.chronicle.queue.main.UnlockMain
  java.lang.AssertionError: Closeables still open
  Suppressed: java.util.concurrent.ExecutionException: net.openhft.chronicle.wire.UnrecoverableTimeoutException: Couldn't acquire write lock after 15000 ms for the lock file:target/appenderAndTailerResourcesShouldBeCleanedUpByGarbageCollection-78-go2s18086e/metadata.cq4t. Lock was held by me. You can manually unlock with net.openhft.chronicle.queue.main.UnlockMain
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:206)
    at net.openhft.chronicle.queue.impl.single.AppenderFileHandleLeakTest.appenderAndTailerResourcesShouldBeCleanedUpByGarbageCollection(AppenderFileHandleLeakTest.java:130)
    at java.lang.reflect.Method.invoke(Method.java:498)
  Caused by: net.openhft.chronicle.wire.UnrecoverableTimeoutException: Couldn't acquire write lock after 15000 ms for the lock file:target/appenderAndTailerResourcesShouldBeCleanedUpByGarbageCollection-78-go2s18086e/metadata.cq4t. Lock was held by me. You can manually unlock with net.openhft.chronicle.queue.main.UnlockMain
    at net.openhft.chronicle.queue.impl.single.TableStoreWriteLock.lockHandleTimeoutException(TableStoreWriteLock.java:108)
    at net.openhft.chronicle.queue.impl.single.TableStoreWriteLock.lock(TableStoreWriteLock.java:80)
    at net.openhft.chronicle.queue.impl.single.StoreAppender.prepareAndReturnWriteContext(StoreAppender.java:429)
    at net.openhft.chronicle.queue.impl.single.StoreAppender.writingDocument(StoreAppender.java:413)
    at net.openhft.chronicle.queue.impl.single.StoreAppender.writingDocument(StoreAppender.java:401)
    at net.openhft.chronicle.queue.impl.single.StoreAppender.writeBytes(StoreAppender.java:201)
    at net.openhft.chronicle.queue.impl.single.AppenderFileHandleLeakTest.writeMessage(AppenderFileHandleLeakTest.java:92)
    at net.openhft.chronicle.queue.impl.single.AppenderFileHandleLeakTest.lambda$appenderAndTailerResourcesShouldBeCleanedUpByGarbageCollection$1(AppenderFileHandleLeakTest.java:120)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:750)
    at net.openhft.chronicle.core.threads.CleaningThread.run(CleaningThread.java:184)
  Caused by: java.lang.IllegalStateException: Couldn't acquire write lock after 15000 ms for the lock file:target/appenderAndTailerResourcesShouldBeCleanedUpByGarbageCollection-78-go2s18086e/metadata.cq4t. Lock was held by me. You can manually unlock with net.openhft.chronicle.queue.main.UnlockMain
    ... 13 more
  Suppressed: java.lang.AssertionError: Closeables still open
    at net.openhft.chronicle.core.internal.CloseableUtils.assertCloseablesClosed(CloseableUtils.java:183)
    at net.openhft.chronicle.core.io.AbstractCloseable.assertCloseablesClosed(AbstractCloseable.java:161)
    at net.openhft.chronicle.core.internal.ReferenceCountedUtils.assertReferencesReleased(ReferenceCountedUtils.java:91)
    at net.openhft.chronicle.core.io.AbstractReferenceCounted.assertReferencesReleased(AbstractReferenceCounted.java:94)
    at net.openhft.chronicle.queue.QueueTestCommon.assertReferencesReleased(QueueTestCommon.java:115)
    at net.openhft.chronicle.queue.impl.single.AppenderFileHandleLeakTest.assertReferencesReleased(AppenderFileHandleLeakTest.java:321)
    at net.openhft.chronicle.queue.QueueTestCommon.afterChecks(QueueTestCommon.java:168)
    at java.lang.reflect.Method.invoke(Method.java:498)
    Suppressed: java.lang.IllegalStateException: Not closed @1 closed=false
      at net.openhft.chronicle.core.internal.CloseableUtils.captureTheUnclosed(CloseableUtils.java:229)
      at net.openhft.chronicle.core.internal.CloseableUtils.assertCloseablesClosed(CloseableUtils.java:190)
      ... 7 more
    Caused by: net.openhft.chronicle.core.StackTrace: net.openhft.chronicle.bytes.internal.CommonMappedBytes$1 created here on main/test-30
      at net.openhft.chronicle.core.io.AbstractCloseable.<init>(AbstractCloseable.java:104)
      at net.openhft.chronicle.bytes.internal.CommonMappedBytes$1.<init>(CommonMappedBytes.java:50)
      at net.openhft.chronicle.bytes.internal.CommonMappedBytes.<init>(CommonMappedBytes.java:50)
      at net.openhft.chronicle.bytes.internal.ChunkedMappedBytes.<init>(ChunkedMappedBytes.java:55)
      at net.openhft.chronicle.bytes.internal.ChunkedMappedBytes.<init>(ChunkedMappedBytes.java:50)
      at net.openhft.chronicle.bytes.internal.ChunkedMappedFile.createBytesFor(ChunkedMappedFile.java:420)
      at net.openhft.chronicle.bytes.MappedBytes.mappedBytes(MappedBytes.java:211)
      at net.openhft.chronicle.queue.impl.single.SingleChronicleQueueStore.bytes(SingleChronicleQueueStore.java:306)
      at net.openhft.chronicle.queue.impl.single.StoreTailer.resetWires(StoreTailer.java:842)
      at net.openhft.chronicle.queue.impl.single.StoreTailer.cycle(StoreTailer.java:1166)
      at net.openhft.chronicle.queue.impl.single.StoreTailer.doToStart(StoreTailer.java:721)
      at net.openhft.chronicle.queue.impl.single.StoreTailer.toStart(StoreTailer.java:744)
      at net.openhft.chronicle.queue.impl.single.StoreTailer.<init>(StoreTailer.java:94)
      at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue.createTailer(SingleChronicleQueue.java:560)
      at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue.createTailer(SingleChronicleQueue.java:577)
      at net.openhft.chronicle.queue.impl.single.AppenderFileHandleLeakTest.readMessage(AppenderFileHandleLeakTest.java:76)
      at net.openhft.chronicle.queue.impl.single.AppenderFileHandleLeakTes