Hi,
I’m getting an exception from the compiler (see below), but no explanation as to what the exception means, or how to fix it.
The code of saveTypesCallback is:
def saveTypesCallback(data: String): JsCmd = {
val key = beginTrans(logger)
securityLogger.debug("[ServerStatus$.saveTypesCallback] data is: {}", data)
var result: JsCmd = Noop
var session: EDBSession = null
try {
logger.trace("[ServerStatus$.saveTypesCallback] data: {}", data)
val rawRecords = data.split(";")
val user = getUser
if (user == null) return Noop
val typeList = getTypeList(user.getContext)
session = dbSessionFactory.createSession match {
case Left(message) =>
logger.error("[ServerStatus$.saveTypesCallback] unable to get session for persistent store, message: {}", message)
return Noop
case Right(s) => s
}
var count = 0
rawRecords.foreach((raw) => count += doOneTypeRecord(user.getContext, session, typeList, raw))
result = JsCmds.Alert("Records updated: " + count)
} catch {
case e: Exception => logger.error("[ServerStatus$.saveTypesCallback] ", e)
} finally {
if (session != null) session.close()
}
endTrans(logger, key)
result
}
scala.tools.asm.tree.analysis.AnalyzerException: While processing edu/stsci/laoi/snippet/ServerStatus$.saveTypesCallback
at scala.tools.nsc.backend.jvm.analysis.BackendUtils$AsmAnalyzer.<init>(BackendUtils.scala:40)
at scala.tools.nsc.backend.jvm.opt.LocalOpt.removeUnreachableCodeImpl(LocalOpt.scala:488)
at scala.tools.nsc.backend.jvm.opt.LocalOpt.removalRound$2(LocalOpt.scala:275)
at scala.tools.nsc.backend.jvm.opt.LocalOpt.methodOptimizations(LocalOpt.scala:354)
at scala.tools.nsc.backend.jvm.opt.LocalOpt.$anonfun$methodOptimizations$1(LocalOpt.scala:195)
at scala.tools.nsc.backend.jvm.opt.LocalOpt.$anonfun$methodOptimizations$1$adapted(LocalOpt.scala:194)
at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157)
at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157)
at scala.collection.Iterator.foreach(Iterator.scala:929)
at scala.collection.Iterator.foreach$(Iterator.scala:929)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1406)
at scala.collection.IterableLike.foreach(IterableLike.scala:71)
at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:157)
at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:155)
at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
at scala.tools.nsc.backend.jvm.opt.LocalOpt.methodOptimizations(LocalOpt.scala:194)
at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase$Worker2.$anonfun$localOptimizations$1(GenBCode.scala:248)
at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase$Worker2.localOptimizations(GenBCode.scala:248)
at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase$Worker2.run(GenBCode.scala:267)
at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.buildAndSendToDisk(GenBCode.scala:384)
at scala.tools.nsc.backend.jvm.GenBCode$BCodePhase.run(GenBCode.scala:350)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1418)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1403)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1398)
at scala.tools.nsc.Global$Run.compile(Global.scala:1492)
at scala.tools.ant.Scalac.executeInternal(Scalac.scala:682)
at scala.tools.ant.Scalac.execute(Scalac.scala:630)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
at org.apache.tools.ant.Main.runBuild(Main.java:857)
at org.apache.tools.ant.Main.startAnt(Main.java:236)
at org.apache.tools.ant.Main.start(Main.java:199)
at org.apache.tools.ant.Main.main(Main.java:287)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30)
Caused by: scala.tools.asm.tree.analysis.AnalyzerException: Error at instruction 71: Incompatible stack heights
at scala.tools.asm.tree.analysis.Analyzer.analyze(Analyzer.java:299)
at scala.tools.nsc.backend.jvm.analysis.BackendUtils$AsmAnalyzer.<init>(BackendUtils.scala:37)
... 49 more
Caused by: scala.tools.asm.tree.analysis.AnalyzerException: Incompatible stack heights
at scala.tools.asm.tree.analysis.Frame.merge(Frame.java:701)
at scala.tools.asm.tree.analysis.Analyzer.merge(Analyzer.java:512)
at scala.tools.asm.tree.analysis.Analyzer.analyze(Analyzer.java:219)
... 50 more
error: Error while emitting edu/stsci/laoi/snippet/ServerStatus$
While processing edu/stsci/laoi/snippet/ServerStatus$.saveTypesCallback