[ https://issues.apache.org/jira/browse/SPARK-8503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14595014#comment-14595014 ]
Sean Owen commented on SPARK-8503: ---------------------------------- That looks near to Long.MIN_VALUE. It could be overflow, but I suspect something in the code returns Long.MIN_VALUE as a size to mean some kind of error condition and this is being added to a sum. This doesn't really have any info that helps reproduce it though. If you can't describe your exact data structure, what does debugging reveal about when and where this happens? > SizeEstimator returns negative value for recursive data structures > ------------------------------------------------------------------ > > Key: SPARK-8503 > URL: https://issues.apache.org/jira/browse/SPARK-8503 > Project: Spark > Issue Type: Bug > Components: Spark Core > Affects Versions: 1.3.1 > Reporter: Ilya Rakitsin > > When estimating size of recursive data structures like graphs, with transient > fields referencing one another, SizeEstimator may return negative value if > the structure if big enough. > This then affects the logic of other components, e.g. > SizeTracker#takeSample() and may lead to incorrect behavior and exceptions > like: > java.lang.IllegalArgumentException: requirement failed: sizeInBytes was > negative: -9223372036854691384 > at scala.Predef$.require(Predef.scala:233) > at org.apache.spark.storage.BlockInfo.markReady(BlockInfo.scala:55) > at org.apache.spark.storage.BlockManager.doPut(BlockManager.scala:810) > at > org.apache.spark.storage.BlockManager.putIterator(BlockManager.scala:637) > at > org.apache.spark.storage.BlockManager.putSingle(BlockManager.scala:991) > at > org.apache.spark.broadcast.TorrentBroadcast.writeBlocks(TorrentBroadcast.scala:98) > at > org.apache.spark.broadcast.TorrentBroadcast.<init>(TorrentBroadcast.scala:84) > at > org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast(TorrentBroadcastFactory.scala:34) > at > org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast(TorrentBroadcastFactory.scala:29) > at > org.apache.spark.broadcast.BroadcastManager.newBroadcast(BroadcastManager.scala:62) > at org.apache.spark.SparkContext.broadcast(SparkContext.scala:1051) -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org