title: SBT runs out of memory
body: <p>I am using SBT 0.12.3 to test some code and often I get this error message while testing interactively with the <code>~test</code> command.</p>
  
  <pre><code>8. Waiting for source changes... (press enter to interrupt)
  [info] Compiling 1 Scala source to C:\Users\t\scala-projects\scala test\target\s
  cala-2.10\classes...
  sbt appears to be exiting abnormally.
    The log file for this session is at C:\Users\t\AppData\Local\Temp\sbt566325905
  3150896045.log
  java.lang.OutOfMemoryError: PermGen space
          at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
          at java.util.concurrent.FutureTask.get(Unknown Source)
          at sbt.ConcurrentRestrictions$$anon$4.take(ConcurrentRestrictions.scala:
  196)
          at sbt.Execute.next$1(Execute.scala:85)
          at sbt.Execute.processAll(Execute.scala:88)
          at sbt.Execute.runKeep(Execute.scala:68)
          at sbt.EvaluateTask$.run$1(EvaluateTask.scala:162)
          at sbt.EvaluateTask$.runTask(EvaluateTask.scala:177)
          at sbt.Aggregation$$anonfun$4.apply(Aggregation.scala:46)
          at sbt.Aggregation$$anonfun$4.apply(Aggregation.scala:44)
          at sbt.EvaluateTask$.withStreams(EvaluateTask.scala:137)
          at sbt.Aggregation$.runTasksWithResult(Aggregation.scala:44)
          at sbt.Aggregation$.runTasks(Aggregation.scala:59)
          at sbt.Aggregation$$anonfun$applyTasks$1.apply(Aggregation.scala:31)
          at sbt.Aggregation$$anonfun$applyTasks$1.apply(Aggregation.scala:30)
          at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.sca
  la:62)
          at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.sca
  la:62)
          at sbt.Command$.process(Command.scala:90)
          at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(MainLoop.scala:71
  )
          at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(MainLoop.scala:71
  )
          at sbt.State$$anon$2.process(State.scala:170)
          at sbt.MainLoop$$anonfun$next$1.apply(MainLoop.scala:71)
          at sbt.MainLoop$$anonfun$next$1.apply(MainLoop.scala:71)
          at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
          at sbt.MainLoop$.next(MainLoop.scala:71)
          at sbt.MainLoop$.run(MainLoop.scala:64)
          at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:53)
          at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:50)
          at sbt.Using.apply(Using.scala:25)
          at sbt.MainLoop$.runWithNewLog(MainLoop.scala:50)
          at sbt.MainLoop$.runAndClearLast(MainLoop.scala:33)
          at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:17)
  Error during sbt execution: java.lang.OutOfMemoryError: PermGen space
  </code></pre>
  
  <p>The error is clear, I cloud increase the heap size and it may stop throwing that error, but the thing is that it shuts down after a number(I don't know how many) of test interactions with a minimal change in the code, and if a simple increase in the heap would solve the problem or do I have to do additional work not to run out of memory.</p>
  
  <p>Thanks in advance.</p>