/tmp/junit10322926162225119934/junit7315926674414714436/persistent/50c1ffc0-dd05-48a1-90be-ea89c2225ceb Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png to /tmp/junit14941214442328559806/junit12232745663447948153/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Exception in thread "DefaultDispatcher-worker-6 @coroutine#44" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(44), "coroutine#44":StandaloneCoroutine{Cancelling}@75a30214, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenNonCompressableFileStored_whenRequestMade_thenWillBeRetrievedAsCacheHitAndNotCompressed(UstadCacheJvmTest.kt:268) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): add retention locks for http://www.server.com/file.png Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png to /tmp/junit3724892748731918579/junit5733238741957858113/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): remove retention locks for #1787080161774http://www.server.com/file.png Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): moveToNewPath (http://www.server.com/file.png) /tmp/junit3724892748731918579/junit5733238741957858113/persistent/57131994-5fe2-41f4-acd2-5999da736f73 -> /tmp/junit3724892748731918579/junit5733238741957858113/cache/57131994-5fe2-41f4-acd2-5999da736f73 Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/ustadmobile-epub.js to /tmp/junit5590942517898350898/junit12956019924256638930/tmpWork/1.tmp (integrity=sha256-VSq6jc4LzKolTOOJz3m0EyOgcFjLiWDjIhq5d2YB7fM=) Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/ustadmobile-epub.js Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/ustadmobile-epub.js Exception in thread "DefaultDispatcher-worker-6 @coroutine#74" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(74), "coroutine#74":StandaloneCoroutine{Cancelling}@29d02bbb, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenCompressableFileStored_whenRequestMadeWithoutAcceptEncoding_thenWillBeRetrievedAsCacheHitAndBeCompressed(UstadCacheJvmTest.kt:346) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:21 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/ustadmobile-epub.js to /tmp/junit9404052320864578572/junit2591630625418211916/tmpWork/1.tmp (integrity=sha256-VSq6jc4LzKolTOOJz3m0EyOgcFjLiWDjIhq5d2YB7fM=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/ustadmobile-epub.js Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/ustadmobile-epub.js Exception in thread "DefaultDispatcher-worker-1 @coroutine#82" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(82), "coroutine#82":StandaloneCoroutine{Cancelling}@62e803a6, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenCompressableFileStored_whenRequestMade_thenWillBeRetrievedAsCacheHitAndBeCompressed(UstadCacheJvmTest.kt:335) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png to /tmp/junit11870023523614080545/junit5414334164778626977/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Exception in thread "DefaultDispatcher-worker-1 @coroutine#90" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(90), "coroutine#90":StandaloneCoroutine{Cancelling}@1d7044a3, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenFileCachedAndStored_whenPartialRequestMadeIfRangeNotMatched_thenWillReceiveFullResponse(UstadCacheJvmTest.kt:509) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): add retention locks for http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png to /tmp/junit15142665767614805408/junit4488882512047055838/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Exception in thread "DefaultDispatcher-worker-1 @coroutine#99" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(99), "coroutine#99":StandaloneCoroutine{Cancelling}@3bb10357, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenLockedEntryStored_whenRequestMade_thenWillBeRetrievedAsCacheHitAndSavedInPersistentPath(UstadCacheJvmTest.kt:278) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png to /tmp/junit7875117696444137760/junit6739926998672247983/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png?ts=1 Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png?ts=1 Exception in thread "DefaultDispatcher-worker-2 @coroutine#109" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(109), "coroutine#109":StandaloneCoroutine{Cancelling}@499aa80f, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenNoVarySearchHeaderSet_whenRetrievedUsingMatchingUrl_thenIsCacheHit(UstadCacheJvmTest.kt:637) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png?ts=1 Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png?ts=1 Exception in thread "DefaultDispatcher-worker-1 @coroutine#118" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(118), "coroutine#118":StandaloneCoroutine{Cancelling}@194dab3a, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.givenNoVarySearchHeaderSet_whenRetrievedUsingMatchingUrl_thenIsCacheHit(UstadCacheJvmTest.kt:646) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png?lang=en&lesson=2 to /tmp/junit7875117696444137760/junit6739926998672247983/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Exception in thread "DefaultDispatcher-worker-1 @coroutine#123" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(123), "coroutine#123":StandaloneCoroutine{Cancelling}@32811c36, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenNoVarySearchHeaderSet_whenRetrievedUsingMatchingUrl_thenIsCacheHit(UstadCacheJvmTest.kt:637) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Exception in thread "DefaultDispatcher-worker-1 @coroutine#132" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(132), "coroutine#132":StandaloneCoroutine{Cancelling}@ec13843, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.givenNoVarySearchHeaderSet_whenRetrievedUsingMatchingUrl_thenIsCacheHit(UstadCacheJvmTest.kt:646) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png?lang=en&lesson=2 to /tmp/junit7875117696444137760/junit6739926998672247983/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Exception in thread "DefaultDispatcher-worker-4 @coroutine#137" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(137), "coroutine#137":StandaloneCoroutine{Cancelling}@26f267be, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenNoVarySearchHeaderSet_whenRetrievedUsingMatchingUrl_thenIsCacheHit(UstadCacheJvmTest.kt:637) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png?lang=en&lesson=2&actor=janedoe&endpoint=server Exception in thread "DefaultDispatcher-worker-4 @coroutine#146" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(146), "coroutine#146":StandaloneCoroutine{Cancelling}@5d117345, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.givenNoVarySearchHeaderSet_whenRetrievedUsingMatchingUrl_thenIsCacheHit(UstadCacheJvmTest.kt:646) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png to /tmp/junit725701750569290553/junit14224999586002859393/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Exception in thread "DefaultDispatcher-worker-1 @coroutine#151" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(151), "coroutine#151":StandaloneCoroutine{Cancelling}@5a48200d, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenExtraHeaderSet_whenRetrieved_thenExtraHeaderIsAdded(UstadCacheJvmTest.kt:590) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Exception in thread "DefaultDispatcher-worker-1 @coroutine#160" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(160), "coroutine#160":StandaloneCoroutine{Cancelling}@48edb5da, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.givenExtraHeaderSet_whenRetrieved_thenExtraHeaderIsAdded(UstadCacheJvmTest.kt:598) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): store request for 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): copied request data for http://www.server.com/file.png to /tmp/junit3925267346181876900/junit11458728350086850865/tmpWork/1.tmp (integrity=sha256-hlfF4oGFRfane2XiRyLv02LtOJ4Va2UanpQV0im/K8I=) Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINEST: [VERBOSE] UstadCache - UstadCache(): cacheEntries created 1 entries Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog INFO: [INFO] UstadCache - UstadCache(): Retrieve http://www.server.com/file.png Aug 18, 2026 11:09:22 PM io.github.aakira.napier.DebugAntilog performLog FINE: [DEBUG] UstadCache - UstadCache(): FOUND http://www.server.com/file.png Exception in thread "DefaultDispatcher-worker-2 @coroutine#165" kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42) at com.ustadmobile.libcache.UstadCacheImpl$4.invokeSuspend(UstadCacheImpl.kt:368) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineId(165), "coroutine#165":StandaloneCoroutine{Cancelling}@16ecfc18, Dispatchers.IO] Caused by: kotlinx.coroutines.channels.ClosedReceiveChannelException: Channel was closed at kotlinx.coroutines.channels.BufferedChannel.getReceiveException(BufferedChannel.kt:1739) at kotlinx.coroutines.channels.BufferedChannel.resumeWaiterOnClosedChannel(BufferedChannel.kt:2181) at kotlinx.coroutines.channels.BufferedChannel.resumeReceiverOnClosedChannel(BufferedChannel.kt:2170) at kotlinx.coroutines.channels.BufferedChannel.cancelSuspendedReceiveRequests(BufferedChannel.kt:2163) at kotlinx.coroutines.channels.BufferedChannel.completeClose(BufferedChannel.kt:1940) at kotlinx.coroutines.channels.BufferedChannel.isClosed(BufferedChannel.kt:2219) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend0(BufferedChannel.kt:2194) at kotlinx.coroutines.channels.BufferedChannel.isClosedForSend(BufferedChannel.kt:2191) at kotlinx.coroutines.channels.BufferedChannel.completeCloseOrCancel(BufferedChannel.kt:1912) at kotlinx.coroutines.channels.BufferedChannel.closeOrCancelImpl(BufferedChannel.kt:1805) at kotlinx.coroutines.channels.BufferedChannel.close(BufferedChannel.kt:1764) at kotlinx.coroutines.channels.SendChannel.close$default(Channel.kt:263) at com.ustadmobile.libcache.UstadCacheImpl.close(UstadCacheImpl.kt:977) at com.ustadmobile.libcache.UstadCacheJvmTest.withTestCache(UstadCacheJvmTest.kt:209) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved(UstadCacheJvmTest.kt:227) at com.ustadmobile.libcache.UstadCacheJvmTest.assertFileCanBeCachedAndRetrieved$default(UstadCacheJvmTest.kt:215) at com.ustadmobile.libcache.UstadCacheJvmTest.givenFileCachedAndStored_whenPartialRequestMade_thenWillReceivePartialData(UstadCacheJvmTest.kt:472) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.runRequest(JUnitTestExecutor.java:175) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:84) at org.gradle.api.internal.tasks.testing.junit.JUnitTestExecutor.accept(JUnitTestExecutor.java:47) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestDefinitionProcessor.processTestDefinition(AbstractJUnitTestDefinitionProcessor.java:65) at org.gradle.api.internal.tasks.testing.SuiteTestDefinitionProcessor.processTestDefinition(SuiteTestDefinitionProcessor.java:53) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.gradle.internal.dispatch.MethodInvocation.invokeOn(MethodInvocation.java:77) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:28) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:19) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:88) at jdk.proxy1/jdk.proxy1.$Proxy4.processTestDefinition(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:178) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) ]]>