Skip to content

Bad error for macro code with scala_library #366

@ittaiz

Description

@ittaiz

This should fail since the user should use scala_macro_library but we should probably not crash the worker since it makes it very hard to understand what's happening on CI.
Additionally maybe we should suggest to use scala_macro_library

Exception in thread "main" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file com/wix/Foo$
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at scala.reflect.macros.runtime.JavaReflectionRuntimes$JavaReflectionResolvers$class.resolveJavaReflectionRuntime(JavaReflectionRuntimes
.scala:16)
        at scala.reflect.macros.runtime.MacroRuntimes$MacroRuntimeResolver.resolveJavaReflectionRuntime(MacroRuntimes.scala:52)
        at scala.reflect.macros.runtime.MacroRuntimes$MacroRuntimeResolver.resolveRuntime(MacroRuntimes.scala:65)
        at scala.reflect.macros.runtime.MacroRuntimes$$anonfun$standardMacroRuntime$3.apply(MacroRuntimes.scala:35)
        at scala.reflect.macros.runtime.MacroRuntimes$$anonfun$standardMacroRuntime$3.apply(MacroRuntimes.scala:35)
        at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:194)
        at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:80)
        at scala.reflect.macros.runtime.MacroRuntimes$class.standardMacroRuntime(MacroRuntimes.scala:35)
        at scala.tools.nsc.Global$$anon$1.standardMacroRuntime(Global.scala:489)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:416)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:413)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$class.invoke(AnalyzerPlugins.scala:369)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$class.pluginsMacroRuntime(AnalyzerPlugins.scala:413)
        at scala.tools.nsc.Global$$anon$1.pluginsMacroRuntime(Global.scala:489)
        at scala.reflect.macros.runtime.MacroRuntimes$class.macroRuntime(MacroRuntimes.scala:22)
        at scala.tools.nsc.Global$$anon$1.macroRuntime(Global.scala:489)
        at scala.tools.nsc.typechecker.Macros$MacroExpander$$anonfun$expand$1.apply(Macros.scala:579)
        at scala.tools.nsc.typechecker.Macros$MacroExpander$$anonfun$expand$1.apply(Macros.scala:573)
        at scala.tools.nsc.Global.withInfoLevel(Global.scala:225)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:572)
        at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:560)
        at scala.tools.nsc.typechecker.Macros$class.standardMacroExpand(Macros.scala:724)
        at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:489)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:400)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$10.default(AnalyzerPlugins.scala:397)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$class.invoke(AnalyzerPlugins.scala:369)
        at scala.tools.nsc.typechecker.AnalyzerPlugins$class.pluginsMacroExpand(AnalyzerPlugins.scala:397)
        at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:489)
        at scala.tools.nsc.typechecker.Macros$class.macroExpand(Macros.scala:717)
        at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:489)
        at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1111)
        at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1166)
        at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5437)
        at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5450)
        at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5397)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5401)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$adaptToImplicitMethod$1$1$$anonfun$apply$5.apply(Typers.scala:828)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$adaptToImplicitMethod$1$1$$anonfun$apply$5.apply(Typers.scala:825)
        at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:693)
        at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:823)
        at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1162)
        at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5437)
        at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5450)
        at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5397)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5401)
        at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:3163)
        at scala.tools.nsc.typechecker.PatternTypers$PatternTyper$class.typedArgWithFormal$1(PatternTypers.scala:112)
        at scala.tools.nsc.typechecker.PatternTypers$PatternTyper$$anonfun$2.apply(PatternTypers.scala:115)
        at scala.tools.nsc.typechecker.PatternTypers$PatternTyper$$anonfun$2.apply(PatternTypers.scala:115)
        at scala.runtime.Tuple2Zipped$$anonfun$map$extension$1.apply(Tuple2Zipped.scala:46)
        at scala.runtime.Tuple2Zipped$$anonfun$map$extension$1.apply(Tuple2Zipped.scala:44)
        at scala.collection.immutable.List.foreach(List.scala:392)
        at scala.runtime.Tuple2Zipped$.map$extension(Tuple2Zipped.scala:44)
        at scala.tools.nsc.typechecker.PatternTypers$PatternTyper$class.typedArgsForFormals(PatternTypers.scala:115)
        at scala.tools.nsc.typechecker.Typers$Typer.typedArgsForFormals(Typers.scala:111)
        at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$handleMonomorphicCall$1(Typers.scala:3469)
        at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3494)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$98.apply(Typers.scala:4495)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$98.apply(Typers.scala:4495)
        at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:693)
        at scala.tools.nsc.typechecker.Typers$Typer.tryTypedApply$1(Typers.scala:4495)
        at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4578)
        at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4608)
        at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5370)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5387)
        at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5423)
        at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5450)
        at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5397)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5401)
        at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5501)
        at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5507)
        at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4839)
        at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5371)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5387)
        at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5423)
        at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5450)
        at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5397)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5401)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$102.apply(Typers.scala:4559)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$102.apply(Typers.scala:4559)
        at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:680)
        at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4558)
        at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4608)
        at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5370)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5387)
        at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5423)
        at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5450)
        at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5397)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5401)
        at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5481)

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