>Try adding —no-build-cache to Gradle’s command line. It worked for me.
Thanks for figuring out the cause. Just in case, the better workaround would be --rerun-tasks (it literally reruns tasks). I've added the full Java version to the cache key in https://github.com/apache/calcite/commit/79006252a81353880c06f688d9d92c0cdc57026d , so the issue should be resolved. On top of that, I added Java version verification to the build script, so it fails if old Java is detected: * What went wrong: Apache Calcite requires Java 1.8.0u202 or later. The current Java version is 1.8.0_152 The relevant Gradle issue is https://github.com/gradle/gradle/issues/15464 Vladimir ср, 9 дек. 2020 г. в 09:19, Julian Hyde <[email protected]>: > Try adding —no-build-cache to gradle’s command line. It worked for me. I > guess a bad .class file had gotten lodged in gradle’s cache. > > Julian > > > On Dec 8, 2020, at 20:20, Chunwei Lei <[email protected]> wrote: > > > > I have tried jdk1.8.0_271. But I still get the error. > > > >> Task :plus:forbiddenApisMain FAILED > > > >> Task :release:distTar > > Source distribution is created: > > > /Users/chunwei.lcw/Desktop/dev_src/calcite/release/build/distributions/apache-calcite-1.27.0-SNAPSHOT-src.tar.gz > > > > Build calcite FAILURE reason: > > Execution failed for task ':plus:forbiddenApisMain': > > Caused by: de.thetaphi.forbiddenapis.ForbiddenApiException: Failed > > to parse class > > 'org.apache.calcite.adapter.tpcds.TpcdsSchema$TpcdsQueryableTable$1$1' > > (TpcdsSchema.java): java.lang.ArrayIndexOutOfBoundsException: 110 > > at > > de.thetaphi.forbiddenapis.Checker.checkClass(Checker.java:440) > > at de.thetaphi.forbiddenapis.Checker.run(Checker.java:460) > > at > > > de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis.checkForbidden(CheckForbiddenApis.java:601) > > at > > > org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78) > > at > > > org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34) > > at > > > org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39) > > at > > > org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40) > > at > > > org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28) > > ...... > > Caused by: java.lang.ArrayIndexOutOfBoundsException: 110 > > at > > > de.thetaphi.forbiddenapis.asm.ClassReader.readLabel(ClassReader.java:2643) > > at > > > de.thetaphi.forbiddenapis.asm.ClassReader.createLabel(ClassReader.java:2659) > > at > > > de.thetaphi.forbiddenapis.asm.ClassReader.readTypeAnnotations(ClassReader.java:2725) > > at > > de.thetaphi.forbiddenapis.asm.ClassReader.readCode(ClassReader.java:1892) > > at > > > de.thetaphi.forbiddenapis.asm.ClassReader.readMethod(ClassReader.java:1481) > > at > > de.thetaphi.forbiddenapis.asm.ClassReader.accept(ClassReader.java:711) > > at > > de.thetaphi.forbiddenapis.asm.ClassReader.accept(ClassReader.java:394) > > at > > de.thetaphi.forbiddenapis.Checker.checkClass(Checker.java:414) > > ... 62 more > > > > > > Best, > > Chunwei > > > > > >> On Wed, Dec 9, 2020 at 7:11 AM Julian Hyde <[email protected]> wrote: > >> > >> I just hit the same problem. I upgraded from jdk1.8.0_152 to > >> jdk1.8.0_271, restarted all gradle daemons, and the problem does not > >> go away. > >> > >> Execution failed for task ':plus:forbiddenApisMain': > >> Caused by: de.thetaphi.forbiddenapis.ForbiddenApiException: > >> Failed to parse class > >> 'org.apache.calcite.adapter.tpcds.TpcdsSchema$TpcdsQueryableTable$1$1' > >> (TpcdsSchema.java): java.lang.ArrayIndexOutOfBoundsException: 110 > >> at > >> de.thetaphi.forbiddenapis.Checker.checkClass(Checker.java:440) > >> at de.thetaphi.forbiddenapis.Checker.run(Checker.java:460) > >> at > >> > de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis.checkForbidden(CheckForbiddenApis.java:601) > >> at > >> org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104) > >> at > >> > org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58) > >> ... > >> Caused by: java.lang.ArrayIndexOutOfBoundsException: 110 > >> at > >> > de.thetaphi.forbiddenapis.asm.ClassReader.readLabel(ClassReader.java:2643) > >> at > >> > >> > de.thetaphi.forbiddenapis.asm.ClassReader.createLabel(ClassReader.java:2659) > >> at > >> > >> > de.thetaphi.forbiddenapis.asm.ClassReader.readTypeAnnotations(ClassReader.java:2725) > >> at > >> > de.thetaphi.forbiddenapis.asm.ClassReader.readCode(ClassReader.java:1892) > >> at > >> > de.thetaphi.forbiddenapis.asm.ClassReader.readMethod(ClassReader.java:1481) > >> at > >> de.thetaphi.forbiddenapis.asm.ClassReader.accept(ClassReader.java:711) > >> at > >> de.thetaphi.forbiddenapis.asm.ClassReader.accept(ClassReader.java:394) > >> at > >> de.thetaphi.forbiddenapis.Checker.checkClass(Checker.java:414) > >> > >> It reproduces if you try to build > >> > >> Vladimir, > >> > >> Do you have more info about this bug? I see an ASM issue [1] that the > >> ASM folks claim is caused by a javac issue. > >> > >> Julian > >> > >> [1] vv https://gitlab.ow2.org/asm/asm/-/issues/317789 > >> > >>> On Mon, Dec 7, 2020 at 4:00 AM Fan Liya <[email protected]> wrote: > >>> > >>> Thanks for the advice. > >>> I have tried jdk1.8.0_271 and jdk1.9 (build 9+181), but the problem is > >>> still there. > >>> > >>> Best, > >>> Liya Fan > >>> > >>> On Mon, Dec 7, 2020 at 1:51 PM Vladimir Sitnikov < > >>> [email protected]> wrote: > >>> > >>>> Fan Liya, please update Java. It is the solution. > >>>> > >>>> Vladimir > >>>> > >> >
