« Return to Thread: [scala] Compiler crash [was: Plugin 0617 An internal error occurred during: "Building workspace".

[scala] Compiler crash [was: Plugin 0617 An internal error occurred during: "Building workspace".

by csar :: Rate this Message:

Reply to Author | View in Thread

I can't get to trac to create a ticket myself (some infinite redirect to the prefs page), please someone take care of this / open a ticket:

case class Copy(os:java.io.OutputStream) {
  def <<(source: javax.xml.transform.Source):Copy = {
    println("copy source")
    val buff = new Array[Byte](2048)
    source match {
//      case ss:javax.xml.transform.stream.StreamSource =>
      case ss:{def getInputStream:java.io.InputStream} =>
        println("is copy")
        var read=0
        val is = ss.getInputStream
        println("starting read/write")
        while({read=is.read(buff); read>0}) {
          println("copy "+read)
          os.write(buff,0,read)
          println("written copy")
        }
        println("starting close")
        is close
       
        println("end copy")
    }
    this
  }
  def <<! {
    println("close copy")
    os.close
  }
}

Crashes the compiler at least since the nightly since July 5th - 2.7.1-final compiles it, but I get a runtime error later (can't access public method).

The plugin warns the line below the commented correction:

refinement AnyRef{def getInputStream: java.io.InputStream} in type pattern is unchecked since it is eliminated by erasure

cheers,

Carsten

---------- Forwarded message ----------
From: Carsten Saager <csaager@...>
Date: Thu, Jul 17, 2008 at 12:39 AM
Subject: Plugin 0617 An internal error occurred during: "Building workspace".
To: scala-tools <scala-tools@...>


I tried to recompile a project that compiled fine with an older version of plugin/scala compiler.


Now I get:

eclipse.buildId=I20080617-2000
java.version=1.6.0_05-ea
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86


Error
Thu Jul 17 01:35:38 IDT 2008
An internal error occurred during: "Building workspace".

java.lang.AssertionError: assertion failed
    at scala.Predef$.assert(Predef.scala:87)
    at scala.tools.nsc.symtab.Types$class.refinementOfClass(Types.scala:1980)
    at scala.tools.nsc.symtab.SymbolTable.refinementOfClass(SymbolTable.scala:12)
    at scala.tools.nsc.symtab.Types$class.refinedType(Types.scala:1994)
    at scala.tools.nsc.symtab.SymbolTable.refinedType(SymbolTable.scala:12)
    at scala.tools.nsc.symtab.Types$class.refinedType(Types.scala:2009)
    at scala.tools.nsc.symtab.SymbolTable.refinedType(SymbolTable.scala:12)
    at scala.tools.nsc.symtab.Types$class.copyRefinedType(Types.scala:2014)
    at scala.tools.nsc.symtab.SymbolTable.copyRefinedType(SymbolTable.scala:12)
    at scala.tools.nsc.typechecker.Infer$Inferencer.intersect(Infer.scala:1154)
    at scala.tools.nsc.typechecker.Infer$Inferencer.inferTypedPattern(Infer.scala:1188)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3141)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typedBind$1(Typers.scala:2317)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3068)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typedPattern(Typers.scala:3355)
    at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:1403)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1425)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1424)
    at scala.List$.loop$1(List.scala:293)
    at scala.List$.mapConserve(List.scala:310)
    at scala.tools.nsc.typechecker.Typers$Typer.typedCases(Typers.scala:1424)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3103)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:1389)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3051)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3338)
    at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:3387)
    at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:1326)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3027)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3327)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:1553)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.List$.loop$1(List.scala:293)
    at scala.List$.mapConserve(List.scala:310)
    at scala.List$.loop$1(List.scala:297)
    at scala.List$.mapConserve(List.scala:310)
    at scala.List$.loop$1(List.scala:297)
    at scala.List$.mapConserve(List.scala:310)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1176)
    at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1050)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3018)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3327)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:1553)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.List$.loop$1(List.scala:293)
    at scala.List$.mapConserve(List.scala:310)
    at scala.List$.loop$1(List.scala:297)
    at scala.List$.mapConserve(List.scala:310)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3014)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3327)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:1553)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.List$.loop$1(List.scala:293)
    at scala.List$.mapConserve(List.scala:310)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3014)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3327)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:1553)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.List$.loop$1(List.scala:293)
    at scala.List$.mapConserve(List.scala:310)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3014)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3327)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:1553)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$19.apply(Typers.scala:1598)
    at scala.List$.loop$1(List.scala:293)
    at scala.List$.mapConserve(List.scala:310)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:1598)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3014)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3290)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3327)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$2.apply(Analyzer.scala:40)
    at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:268)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:247)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:247)
    at scala.Iterator$class.foreach(Iterator.scala:395)
    at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:266)
    at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:247)
    at scala.tools.nsc.Global$Run.compileSources(Global.scala:579)
    at scala.tools.nsc.Global$Run.compile(Global.scala:663)
    at scala.tools.eclipse.BuildCompiler.build(BuildCompiler.scala:114)
    at scala.tools.eclipse.ScalaPlugin$ProjectImpl$class.build(ScalaPlugin.scala:392)
    at scala.tools.eclipse.Driver$Project.build(Driver.scala:16)
    at lampion.eclipse.Builder.build(Builder.scala:85)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


It seems that only very simple projects compile with this version. A small project with 1 file compiles fines, another one with 3 files compiles on the second clean build.

Carsten


 « Return to Thread: [scala] Compiler crash [was: Plugin 0617 An internal error occurred during: "Building workspace".

LightInTheBox - Buy quality products at wholesale price!