uzh / signal-collect

A framework for scalable graph computing.
www.signalcollect.com
Apache License 2.0
148 stars 32 forks source link

Stack overflow when using console #158

Closed cshapeshifter closed 9 years ago

cshapeshifter commented 9 years ago

There's a regression somewhere in 3.0.0/1 which breaks the console (infinite recursion / stack overflow) but I haven't been able to pinpoint the problem. It occurs when trying to query the graph (e.g. "100 of Sample": Add)

java.lang.StackOverflowError
        at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)
        at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
        at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:183)
        at scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:45)
        at scala.collection.mutable.BufferLike$class.appendAll(BufferLike.scala:148)
        at scala.collection.mutable.AbstractBuffer.appendAll(Buffer.scala:49)
        at scala.collection.mutable.BufferLike$class.append(BufferLike.scala:143)
        at scala.collection.mutable.AbstractBuffer.append(Buffer.scala:49)
        at org.json4s.JDoubleJObjectJsonWriter.addNode(json_writers.scala:73)
        at org.json4s.JDoubleJFieldJsonWriter.addNode(json_writers.scala:36)
        at org.json4s.JValueJsonWriter$class.int(json_writers.scala:243)
        at org.json4s.JDoubleJFieldJsonWriter.int(json_writers.scala:32)
        at org.json4s.Extraction$.writePrimitive(Extraction.scala:214)
        at org.json4s.Extraction$.internalDecomposeWithBuilder(Extraction.scala:126)

I'll update the issue if I find out what's wrong. In any case, this breaks the console because no graph queries can be answered.

pstutz commented 9 years ago

On my tiny example I could not reproduce the issue. Could you maybe try again with release 3.0.3?

cshapeshifter commented 9 years ago

Nevermind. The problem was caused by a bad override of expose in my own code, which exposed a cyclic data structure.