The tests run fine everywhere else, but on CircleCI they hang and timeout after a java.lang.NoClassDefFoundError: fs2/Stream
This error is triggered by taking action on the dataframe read from GeoTrellis.
Pardon the dust here, but I ssh'ed into the container running on circleci and then in target dir python setup.py install the package, the run python -m unittest -v tests/GeotrellisTests.py
I tweaked the test to print more stuff.. Observe:
writing done, calling spark.read
Calling count on the dataframe
[Stage 6:> (0 + 36) / 36]Exception in thread "geotrellis-default-io-30" java.lang.NoClassDefFoundError: fs2/Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169$$anonfun$apply$170
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2003)
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2001)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:139)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.Callback$AsyncIdempotentCallback.run(Callback.scala:127)
at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:70)
at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:36)
at cats.effect.internals.TrampolineEC$JVMTrampoline.cats$effect$internals$TrampolineEC$JVMTrampoline$$super$startLoop(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply$mcV$sp(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:92)
at cats.effect.internals.Trampoline.execute(Trampoline.scala:43)
at cats.effect.internals.TrampolineEC.execute(TrampolineEC.scala:44)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:133)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:120)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply$mcV$sp(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:87)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.IOShift$Tick.run(IOShift.scala:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169$$anonfun$apply$170
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 32 more
Exception in thread "geotrellis-default-io-10" java.lang.NoClassDefFoundError: fs2/Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169$$anonfun$apply$170
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2003)
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2001)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:139)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.Callback$AsyncIdempotentCallback.run(Callback.scala:127)
at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:70)
at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:36)
at cats.effect.internals.TrampolineEC$JVMTrampoline.cats$effect$internals$TrampolineEC$JVMTrampoline$$super$startLoop(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply$mcV$sp(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:92)
at cats.effect.internals.Trampoline.execute(Trampoline.scala:43)
at cats.effect.internals.TrampolineEC.execute(TrampolineEC.scala:44)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:133)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:120)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply$mcV$sp(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:87)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.IOShift$Tick.run(IOShift.scala:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "geotrellis-default-io-12" java.lang.NoClassDefFoundError: fs2/Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169$$anonfun$apply$170
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2003)
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2001)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:139)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.Callback$AsyncIdempotentCallback.run(Callback.scala:127)
at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:70)
at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:36)
at cats.effect.internals.TrampolineEC$JVMTrampoline.cats$effect$internals$TrampolineEC$JVMTrampoline$$super$startLoop(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply$mcV$sp(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:92)
at cats.effect.internals.Trampoline.execute(Trampoline.scala:43)
at cats.effect.internals.TrampolineEC.execute(TrampolineEC.scala:44)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:133)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:120)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply$mcV$sp(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:87)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.IOShift$Tick.run(IOShift.scala:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "geotrellis-default-io-17" java.lang.NoClassDefFoundError: fs2/Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169$$anonfun$apply$170
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2003)
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2001)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:139)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.Callback$AsyncIdempotentCallback.run(Callback.scala:127)
at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:70)
at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:36)
at cats.effect.internals.TrampolineEC$JVMTrampoline.cats$effect$internals$TrampolineEC$JVMTrampoline$$super$startLoop(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply$mcV$sp(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:92)
at cats.effect.internals.Trampoline.execute(Trampoline.scala:43)
at cats.effect.internals.TrampolineEC.execute(TrampolineEC.scala:44)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:133)
at cats.effect.internals.Callback$AsyncIdempotentCallback.apply(Callback.scala:120)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$2.apply(Deferred.scala:205)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply$mcV$sp(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.concurrent.Deferred$ConcurrentDeferred$$anonfun$1.apply(Deferred.scala:241)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:87)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.IOShift$Tick.run(IOShift.scala:36)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "geotrellis-default-io-1" java.lang.NoClassDefFoundError: fs2/Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169$$anonfun$apply$170
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2003)
at fs2.Stream$$anonfun$parJoin$extension$2$$anonfun$apply$159$$anonfun$apply$160$$anonfun$apply$161$$anonfun$fs2$Stream$$anonfun$$anonfun$$anonfun$$anonfun$$runInner$2$1$$anonfun$apply$165$$anonfun$apply$168$$anonfun$apply$169.apply(Stream.scala:2001)
at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:139)
at cats.effect.internals.IORunLoop$RestartCallback.signal(IORunLoop.scala:355)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:376)
at cats.effect.internals.IORunLoop$RestartCallback.apply(IORunLoop.scala:316)
at cats.effect.internals.Callback$AsyncIdempotentCallback.run(Callback.scala:127)
at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:70)
at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:36)
at cats.effect.internals.TrampolineEC$JVMTrampoline.cats$effect$internals$TrampolineEC$JVMTrampoline$$super$startLoop(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply$mcV$sp(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at cats.effect.internals.TrampolineEC$JVMTrampoline$$anonfun$startLoop$1.apply(TrampolineEC.scala:93)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:92)
at cats.effect.internals.Trampoline.
Originally posted by @vpipkt in https://github.com/locationtech/rasterframes/pull/478#issuecomment-592126987
The tests run fine everywhere else, but on CircleCI they hang and timeout after a
java.lang.NoClassDefFoundError: fs2/Stream
This error is triggered by taking action on the dataframe read from GeoTrellis.
Pardon the dust here, but I ssh'ed into the container running on circleci and then in target dir
python setup.py install
the package, the runpython -m unittest -v tests/GeotrellisTests.py
I tweaked the test to print more stuff.. Observe: