Skip to content

Fix #5916: Fix broken SemanticDB and add it to yml file for CI #5917

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 18, 2019

Conversation

biboudis
Copy link
Contributor

@biboudis biboudis commented Feb 14, 2019

This seems an obvious fix, a missing parameter at the Import case but a backend error is raised.

@nicolasstucki any clues?

Also adding SemanticDB compilation to bootstrapped tests

@biboudis biboudis self-assigned this Feb 14, 2019
@biboudis biboudis changed the title Add missing parameter and SemanticDB compilation to bootstrapped tests Fix #5916: Add missing parameter and SemanticDB compilation to bootstrapped tests Feb 14, 2019
@biboudis biboudis changed the title Fix #5916: Add missing parameter and SemanticDB compilation to bootstrapped tests Fix #5916: Add missing parameter and SemanticDB compilation to yml file Feb 14, 2019
@biboudis
Copy link
Contributor Author

biboudis commented Feb 14, 2019

Observations:

  • After reverting the ASM update, Upgrade to ASM 7.0 #5905, launchIDE works on top of this commit. However dotty-semanticdb/test still produces differences.
  • Without reverting, I get the following stacktrace, ping @smarter:
[info] Compiling 42 Scala sources to /Users/bibou/Projects/dotty/semanticdb/../out/bootstrap/dotty-semanticdb/scala-0.13/test-classes ...
java.lang.IllegalArgumentException
        at scala.tools.asm.Frame.getAbstractTypeFromDescriptor(Frame.java:367)
        at scala.tools.asm.Frame.push(Frame.java:544)
        at scala.tools.asm.Frame.execute(Frame.java:1035)
        at scala.tools.asm.MethodWriter.visitMethodInsn(MethodWriter.java:1056)
        at scala.tools.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
        at scala.tools.asm.tree.InsnList.accept(InsnList.java:144)
        at scala.tools.asm.tree.MethodNode.accept(MethodNode.java:792)
        at scala.tools.asm.tree.MethodNode.accept(MethodNode.java:690)
        at scala.tools.asm.tree.ClassNode.accept(ClassNode.java:426)
        at dotty.tools.backend.jvm.GenBCodePipeline$Worker2.getByteArray$1(GenBCode.scala:427)
        at dotty.tools.backend.jvm.GenBCodePipeline$Worker2.addToQ3(GenBCode.scala:434)
        at dotty.tools.backend.jvm.GenBCodePipeline$Worker2.run(GenBCode.scala:413)
        at dotty.tools.backend.jvm.GenBCodePipeline.buildAndSendToDisk(GenBCode.scala:512)
        at dotty.tools.backend.jvm.GenBCodePipeline.run(GenBCode.scala:475)
        at dotty.tools.backend.jvm.GenBCode.run(GenBCode.scala:53)
        at dotty.tools.dotc.core.Phases$Phase.$anonfun$runOn$1(Phases.scala:306)
        at scala.collection.immutable.List.map(List.scala:290)
        at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:304)
        at dotty.tools.backend.jvm.GenBCode.runOn(GenBCode.scala:58)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$3(Run.scala:158)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
        at dotty.tools.dotc.util.Stats$.trackTime(Stats.scala:49)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$2(Run.scala:155)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$2$adapted(Run.scala:153)
        at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
        at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:198)
        at dotty.tools.dotc.Run.runPhases$1(Run.scala:153)
        at dotty.tools.dotc.Run.$anonfun$compileUnits$1(Run.scala:178)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
        at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:102)
        at dotty.tools.dotc.Run.compileUnits(Run.scala:133)
        at dotty.tools.dotc.Run.compileSources(Run.scala:120)
        at dotty.tools.dotc.Run.compile(Run.scala:104)
        at dotty.tools.dotc.Driver.doCompile(Driver.scala:33)
        at dotty.tools.dotc.Driver.process(Driver.scala:169)
        at dotty.tools.dotc.Main.process(Main.scala)
        at xsbt.CachedCompilerImpl.run(CachedCompilerImpl.java:69)
        at xsbt.CompilerInterface.run(CompilerInterface.java:41)
        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 sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:237)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:111)
        at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:90)
        at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
        at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:133)
        at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:73)
        at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:116)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:307)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:307)
        at sbt.internal.inc.Incremental$.doCompile(Incremental.scala:106)
        at sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:87)
        at sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:116)
        at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:63)
        at sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:89)
        at sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:134)
        at sbt.internal.inc.Incremental$.compile(Incremental.scala:80)
        at sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:67)
        at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:311)
        at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:269)
        at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:159)
        at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:238)
        at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:69)
        at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1549)
        at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1523)
        at scala.Function1.$anonfun$compose$1(Function1.scala:44)
        at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:67)
        at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
        at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
        at sbt.Execute.work(Execute.scala:278)
        at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
        at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor

@biboudis biboudis changed the title Fix #5916: Add missing parameter and SemanticDB compilation to yml file Fix #5916: Fix broken SemanticDB and add it to yml file for CI Feb 14, 2019
@smarter
Copy link
Member

smarter commented Feb 16, 2019

Minimized:

class `)`
object Test {
  def foo(x: `)`): Unit = {}
  foo(null)
}

This reverts commit 0abd076.

Until scala#5936 is fixed, this is the most conservative option to get:
> dotty-semanticdb/test:compile
to work again.
They're broken and I don't want to fix them.
@smarter
Copy link
Member

smarter commented Feb 18, 2019

@nicolasstucki the semanticdb tests don't pass so I'm disabling them (but still compiling them to make sure launchIDE passes). Please either delete them or fix them in a separate PR.

@smarter smarter merged commit ff3b6d1 into scala:master Feb 18, 2019
@ghost ghost removed the stat:wip label Feb 18, 2019
@allanrenucci allanrenucci deleted the fix-#5916 branch February 18, 2019 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants