xebia-functional/fetch

SOE with deep stack.

raulraja opened this issue · 1 comments

A user has privately reported the following exception when running fetch over a large workflow.
The issue seems to be in the inspection step.

 java.lang.StackOverflowError
                at scala.Tuple2.productElement(Tuple2.scala:20)
                at scala.util.hashing.MurmurHash3.productHash(MurmurHash3.scala:64)
                at scala.util.hashing.MurmurHash3$.productHash(MurmurHash3.scala:211)
                at scala.runtime.ScalaRunTime$._hashCode(ScalaRunTime.scala:168)
                at scala.Tuple2.hashCode(Tuple2.scala:20)
                at scala.runtime.ScalaRunTime$.hash(ScalaRunTime.scala:206)
                at scala.collection.immutable.HashMap.elemHashCode(HashMap.scala:80)
                at scala.collection.immutable.HashMap.computeHash(HashMap.scala:89)
                at scala.collection.immutable.HashMap.get(HashMap.scala:54)
                at fetch.InMemoryCache.get(cache.scala:41)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:380)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:385)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:52)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:386)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:52)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:386)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:52)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:386)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:52)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:386)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:52)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:386)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:52)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:386)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:377)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:51)
                at cats.free.FreeTopExt$.modify(freeinspect.scala:52)
                at fetch.FetchInterpreters$$anon$4.apply(interpreters.scala:386)

Fixed in #123