Skip to content

The doc task misbehaves when we try to build with Lift 3.3.0 #30

@farmdawgnation

Description

@farmdawgnation

We get a pretty nasty error when the doc task attempts to run with Lift 3.3.0 in the mix:

[error] scala.reflect.internal.FatalError:
[error]   bad constant pool tag 19 at byte 54
[error]      while compiling: /Users/matt/Projects/hacklanta/lift-formality/src/main/scala/com/hacklanta/formality/Validation.scala
[error]         during phase: globalPhase=terminal, enteringPhase=parser
[error]      library version: version 2.12.6
[error]     compiler version: version 2.12.6
[error]   reconstructed args: -d /Users/matt/Projects/hacklanta/lift-formality/target/scala-2.12/api -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/classes:/Users/matt/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.12.6.jar -deprecation -feature -Xfatal-warnings -classpath /Users/matt/.ivy2/cache/net.liftweb/lift-webkit_2.12/jars/lift-webkit_2.12-3.3.0.jar:/Users/matt/.ivy2/cache/net.liftweb/lift-util_2.12/jars/lift-util_2.12-3.3.0.jar:/Users/matt/.ivy2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.12.6.jar:/Users/matt/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.12.6.jar:/Users/matt/.sbt/preloaded/org.scala-lang.modules/scala-xml_2.12/1.0.6/bundles/scala-xml_2.12.jar:/Users/matt/.ivy2/cache/net.liftweb/lift-actor_2.12/jars/lift-actor_2.12-3.3.0.jar:/Users/matt/.ivy2/cache/net.liftweb/lift-common_2.12/jars/lift-common_2.12-3.3.0.jar:/Users/matt/.sbt/preloaded/org.slf4j/slf4j-api/1.7.25/jars/slf4j-api.jar:/Users/matt/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/bundles/scala-parser-combinators_2.12-1.0.4.jar:/Users/matt/.ivy2/cache/net.liftweb/lift-json_2.12/jars/lift-json_2.12-3.3.0.jar:/Users/matt/.ivy2/cache/org.scala-lang/scalap/jars/scalap-2.12.6.jar:/Users/matt/.ivy2/cache/com.thoughtworks.paranamer/paranamer/bundles/paranamer-2.8.jar:/Users/matt/.ivy2/cache/net.liftweb/lift-markdown_2.12/jars/lift-markdown_2.12-3.3.0.jar:/Users/matt/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.10.jar:/Users/matt/.ivy2/cache/org.joda/joda-convert/jars/joda-convert-2.1.jar:/Users/matt/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.11.jar:/Users/matt/.ivy2/cache/javax.mail/mail/jars/mail-1.4.7.jar:/Users/matt/.ivy2/cache/javax.activation/activation/jars/activation-1.1.jar:/Users/matt/.ivy2/cache/nu.validator.htmlparser/htmlparser/bundles/htmlparser-1.4.jar:/Users/matt/.ivy2/cache/xerces/xercesImpl/jars/xercesImpl-2.11.0.jar:/Users/matt/.ivy2/cache/xml-apis/xml-apis/jars/xml-apis-1.4.01.jar:/Users/matt/.ivy2/cache/org.mindrot/jbcrypt/jars/jbcrypt-0.4.jar:/Users/matt/.ivy2/cache/commons-fileupload/commons-fileupload/jars/commons-fileupload-1.3.3.jar:/Users/matt/.ivy2/cache/commons-io/commons-io/jars/commons-io-2.2.jar:/Users/matt/.ivy2/cache/org.mozilla/rhino/jars/rhino-1.7.10.jar
[error]
[error]   last tree to typer: Select(Select(Select(Select(Ident(com), hacklanta), formality), ParsleyValidations), rangeLength)
[error]        tree position: line 151 of /Users/matt/Projects/hacklanta/lift-formality/src/main/scala/com/hacklanta/formality/Validation.scala
[error]             tree tpe: com.hacklanta.formality.ParsleyValidations.rangeLength.type
[error]               symbol: object rangeLength in object ParsleyValidations
[error]    symbol definition: object rangeLength (a ModuleSymbol)
[error]       symbol package: com.hacklanta.formality
[error]        symbol owners: object rangeLength -> object ParsleyValidations
[error]            call site: method function2Validation in object Validation in package formality
[error]
[error] == Source file context for tree position ==
[error]
[error]    148     }
[error]    149   }
[error]    150
[error]    151   case class rangeLength(minimumLength: Int, maximumLength: Int) extends Validation[String] {
[error]    152     def apply(value: String) = {
[error]    153       if (value.length > maximumLength || value.length < minimumLength)
[error]    154         Full("should be between " + minimumLength + " and " + maximumLength + " characters long")
[error] 	at scala.reflect.internal.Reporting.abort(Reporting.scala:61)
[error] 	at scala.reflect.internal.Reporting.abort$(Reporting.scala:57)
[error] 	at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:18)
[error] 	at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.errorBadTag(ClassfileParser.scala:365)
[error] 	at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.<init>(ClassfileParser.scala:190)
[error] 	at scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader$classfileParser$.newConstantPool(SymbolLoaders.scala:296)
[error] 	at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:154)
[error] 	at scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:126)
[error] 	at scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:318)
[error] 	at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:220)
[error] 	at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1535)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.$anonfun$lookupInTemplate$4(MemberLookupBase.scala:149)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.$anonfun$lookupInTemplate$4$adapted(MemberLookupBase.scala:149)
[error] 	at scala.collection.TraversableLike.$anonfun$filterImpl$1(TraversableLike.scala:248)
[error] 	at scala.collection.immutable.List.foreach(List.scala:389)
[error] 	at scala.collection.TraversableLike.filterImpl(TraversableLike.scala:247)
[error] 	at scala.collection.TraversableLike.filterImpl$(TraversableLike.scala:245)
[error] 	at scala.collection.AbstractTraversable.filterImpl(Traversable.scala:104)
[error] 	at scala.collection.TraversableLike.filter(TraversableLike.scala:259)
[error] 	at scala.collection.TraversableLike.filter$(TraversableLike.scala:259)
[error] 	at scala.collection.AbstractTraversable.filter(Traversable.scala:104)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.cleanupBogusClasses$1(MemberLookupBase.scala:149)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.lookupInTemplate(MemberLookupBase.scala:160)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.lookupInTemplate(MemberLookupBase.scala:124)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.lookupInRootPackage(MemberLookupBase.scala:111)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.memberLookup(MemberLookupBase.scala:52)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase.memberLookup$(MemberLookupBase.scala:48)
[error] 	at scala.tools.nsc.doc.DocFactory$$anon$1.memberLookup(DocFactory.scala:68)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase$$anon$1.link$lzycompute(MemberLookupBase.scala:27)
[error] 	at scala.tools.nsc.doc.base.MemberLookupBase$$anon$1.link(MemberLookupBase.scala:27)
[error] 	at scala.tools.nsc.doc.base.comment.EntityLink$.unapply(Body.scala:74)
[error] 	at scala.tools.nsc.doc.html.HtmlPage.inlineToHtml(HtmlPage.scala:133)
[error] 	at scala.tools.nsc.doc.html.HtmlPage.inlineToHtml(HtmlPage.scala:129)
[error] 	at scala.tools.nsc.doc.html.HtmlPage.$anonfun$inlineToHtml$1(HtmlPage.scala:122)

It doesn't appear to happen every time, but it's frequent enough that I had to disable scaladocs on the 3.3 build to get it out the door.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions