Skip to content

Dotty Repl OOM's on one-liner input #10983

Closed
@emilypi

Description

@emilypi

Minimized code

scala> val I1: Int = 0 * * * 8 * 1 - 1 + 1 +                                    

Output

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
	at scala.runtime.IntRef.create(IntRef.java:22)
	at dotty.tools.dotc.ast.Trees$Tree.treeSize(Trees.scala:182)
	at dotty.tools.dotc.ast.Trees$Tree.addSize$2(Trees.scala:184)
	at dotty.tools.dotc.ast.Trees$Tree.treeSize$$anonfun$1(Trees.scala:188)
	at dotty.tools.dotc.ast.Trees$Tree$$Lambda$786/1712635211.applyVoid(Unknown Source)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
	at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1279)
	at dotty.tools.dotc.ast.Trees$Tree.treeSize(Trees.scala:188)
	at dotty.tools.dotc.ast.Trees$Tree.addSize$2(Trees.scala:184)
	at dotty.tools.dotc.ast.Trees$Tree.addSize$1$$anonfun$1(Trees.scala:185)
	at dotty.tools.dotc.ast.Trees$Tree$$Lambda$853/2081703861.applyVoid(Unknown Source)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.immutable.List.foreach(List.scala:333)
	at dotty.tools.dotc.ast.Trees$Tree.addSize$2(Trees.scala:185)
	at dotty.tools.dotc.ast.Trees$Tree.treeSize$$anonfun$1(Trees.scala:188)
	at dotty.tools.dotc.ast.Trees$Tree$$Lambda$786/1712635211.applyVoid(Unknown Source)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
	at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1279)
	at dotty.tools.dotc.ast.Trees$Tree.treeSize(Trees.scala:188)
	at dotty.tools.dotc.ast.Trees$Tree.addSize$2(Trees.scala:184)
	at dotty.tools.dotc.ast.Trees$Tree.addSize$1$$anonfun$1(Trees.scala:185)
	at dotty.tools.dotc.ast.Trees$Tree$$Lambda$853/2081703861.applyVoid(Unknown Source)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.immutable.List.foreach(List.scala:333)

Expectation

REPL does not OOM.

For more information, see: #9344.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions