Updated to Sierra, previous error side-stepped, now I keep on seeing this warning + stacktrace.
800 [main] WARN org.testcontainers.dockerclient.DockerClientProviderStrategy - Can't instantiate a strategy from org.testcontainers.dockerclient.ProxiedUnixSocketClientProviderStrategy
java.lang.ClassNotFoundException: org.testcontainers.dockerclient.ProxiedUnixSocketClientProviderStrategy
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$0(DockerClientProviderStrategy.java:76)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.Streams$StreamBuilderImpl.tryAdvance(Streams.java:405)
at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
at java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:728)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:469)
at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:123)
at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:93)
at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:116)
at org.elasticsearch.plugin.readonlyrest.utils.containers.LdapContainer.<init>(LdapContainer.java:58)
at org.elasticsearch.plugin.readonlyrest.utils.containers.LdapContainer.create(LdapContainer.java:66)
at org.elasticsearch.plugin.readonlyrest.settings.LdapSettingsTests.<clinit>(LdapSettingsTests.java:30)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:142)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
at java.lang.reflect.Field.get(Field.java:393)
at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Relevant code:
In another test, I see this one instead:
java.lang.NoClassDefFoundError: org/rnorth/ducttape/ratelimits/RateLimiterBuilder
at org.testcontainers.containers.GenericContainer.<clinit>(GenericContainer.java:149)
at org.elasticsearch.plugin.readonlyrest.integration.LdapIntegrationSecondOptionTests.lambda$static$0(LdapIntegrationSecondOptionTests.java:39)
at org.elasticsearch.plugin.readonlyrest.utils.containers.MultiContainer.lambda$new$0(MultiContainer.java:39)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at org.elasticsearch.plugin.readonlyrest.utils.containers.MultiContainer.<init>(MultiContainer.java:40)
at org.elasticsearch.plugin.readonlyrest.utils.containers.MultiContainer$Builder.build(MultiContainer.java:71)
at org.elasticsearch.plugin.readonlyrest.integration.LdapIntegrationSecondOptionTests.<clinit>(LdapIntegrationSecondOptionTests.java:41)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:142)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
at java.lang.reflect.Field.get(Field.java:393)
at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.ClassNotFoundException: org.rnorth.ducttape.ratelimits.RateLimiterBuilder
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 30 more
Hi @sscarduzio,
Does it help if you remove ~/.testcontainers.properties file?
Yes that fixed the first stack trace. I'm now stuck on the rate limiter one.
@sscarduzio the class comes from https://github.com/testcontainers/testcontainers-java/blob/master/core/pom.xml#L78
I see it as a dependency here:
https://mvnrepository.com/artifact/org.testcontainers/testcontainers/1.4.1
Are you sure you don't exclude anything from testcontainers' dependency?
I don't think I'm excluding anything for this project. Here is my gradle dependencies for integration tests project.
https://pastebin.com/EXzzpPCb <--- this
@sscarduzio wow, it's quite old version of TC (1.2.1), do you have a change to update to 1.4.1 or 1.3.1?
@rnorth I corrected the pastebin, that was another branch! Got confused, sorry.
And in the new one, it says it can't resolve the dependency..
@sscarduzio but why 3cce55a417f6566fe8e791dc5caef2ee1d91920b? It's already released as 1.4.1 :)
Yeah thats silly, I moved to master-SNAPSHOT and added the resolver to the child project too. Now it picked up everything! Thanks 馃憤
@sscarduzio Awesome! 馃憤
Based on this, it looks like there's still a task on us to be a little more resilient if ~/.testcontainers.properties configuration refers to a no-longer-supported strategy; that's probably more pleasant than asking people to remove the file. WDYT?
@rnorth absolutely! Will do
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe this is a mistake, please reply to this comment to keep it open. If there isn't one already, a PR to fix or at least reproduce the problem in a test case will always help us get back on track to tackle this.
This issue has been automatically closed due to inactivity. We apologise if this is still an active problem for you, and would ask you to re-open the issue if this is the case.