typetools / checker-framework

Pluggable type-checking for Java
http://checkerframework.org/
Other
1.01k stars 352 forks source link

Crash report: error: AsSuperVisitor: type is not an erased subtype of supertype. #3791

Closed kennknowles closed 3 years ago

kennknowles commented 3 years ago

Steps to reproduce:

git clone --depth 1 --branch checker-crash-2 https://github.com/kennknowles/beam
cd beam
./gradlew compileJava

The output is very long, as the error occurs in many places. Despite instructions to paste the whole thing, I will just paste one example:

error: AsSuperVisitor: type is not an erased subtype of supertype.
  type: PInput
  superType: PCollection<? extends Object>
  ; The Checker Framework crashed.  Please report the crash.
  Compilation unit: /Users/klk/GitHub/apache/beam/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
  Last visited tree at line 53 column 9:
          AppliedPTransform<?, ?, Window.Assign<?>> transform, SdkComponents components) {
  Exception: java.lang.Throwable; java.lang.Throwable
    at org.checkerframework.javacutil.BugInCF.<init>(BugInCF.java:27)
    at org.checkerframework.framework.type.AsSuperVisitor.errorTypeNotErasedSubtypeOfSuperType(AsSuperVisitor.java:165)
    at org.checkerframework.framework.type.AsSuperVisitor.visitDeclared_Declared(AsSuperVisitor.java:349)
    at org.checkerframework.framework.type.AsSuperVisitor.visitDeclared_Declared(AsSuperVisitor.java:29)
    at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:314)
    at org.checkerframework.framework.type.visitor.AbstractAtmComboVisitor.visit(AbstractAtmComboVisitor.java:65)
    at org.checkerframework.framework.type.AsSuperVisitor.visit(AsSuperVisitor.java:96)
    at org.checkerframework.framework.type.AsSuperVisitor.asSuper(AsSuperVisitor.java:78)
    at org.checkerframework.framework.util.AnnotatedTypes.asSuper(AnnotatedTypes.java:112)
    at org.checkerframework.framework.util.AnnotatedTypes.castedAsSuper(AnnotatedTypes.java:140)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:504)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:43)
    at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:314)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:185)
    at org.checkerframework.checker.nullness.KeyForAnnotatedTypeFactory$KeyForTypeHierarchy.isSubtype(KeyForAnnotatedTypeFactory.java:141)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitWildcardSubtype(DefaultTypeHierarchy.java:1128)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitWildcard_Declared(DefaultTypeHierarchy.java:959)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitWildcard_Declared(DefaultTypeHierarchy.java:43)
    at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:684)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:185)
    at org.checkerframework.checker.nullness.KeyForAnnotatedTypeFactory$KeyForTypeHierarchy.isSubtype(KeyForAnnotatedTypeFactory.java:141)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtypeCaching(DefaultTypeHierarchy.java:301)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.isContainedWildcard(DefaultTypeHierarchy.java:421)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.isContainedBy(DefaultTypeHierarchy.java:380)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitTypeArgs(DefaultTypeHierarchy.java:560)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:511)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:43)
    at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:314)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:185)
    at org.checkerframework.checker.nullness.KeyForAnnotatedTypeFactory$KeyForTypeHierarchy.isSubtype(KeyForAnnotatedTypeFactory.java:141)
    at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:161)
    at org.checkerframework.common.basetype.BaseTypeVisitor.commonAssignmentCheck(BaseTypeVisitor.java:2492)
    at org.checkerframework.common.basetype.BaseTypeVisitor.checkTypeArguments(BaseTypeVisitor.java:2802)
    at org.checkerframework.common.basetype.BaseTypeValidator.visitParameterizedType(BaseTypeValidator.java:471)
    at org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:300)
    at org.checkerframework.common.basetype.BaseTypeValidator.visitDeclared(BaseTypeValidator.java:39)
    at org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType.accept(AnnotatedTypeMirror.java:918)
    at org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.scan(AnnotatedTypeScanner.java:199)
    at org.checkerframework.framework.type.visitor.AnnotatedTypeScanner.visit(AnnotatedTypeScanner.java:187)
    at org.checkerframework.common.basetype.BaseTypeValidator.isValid(BaseTypeValidator.java:85)
    at org.checkerframework.common.basetype.BaseTypeVisitor.validateType(BaseTypeVisitor.java:4180)
    at org.checkerframework.common.basetype.BaseTypeVisitor.validateTypeOf(BaseTypeVisitor.java:4168)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitVariable(BaseTypeVisitor.java:1184)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitVariable(BaseTypeVisitor.java:171)
    at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:968)
    at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
    at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:88)
    at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:299)
    at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:171)
    at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
    at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
    at com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:203)
    at org.checkerframework.framework.source.SourceVisitor.visitMethod(SourceVisitor.java:106)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:742)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:171)
    at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:898)
    at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
    at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:88)
    at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:299)
    at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:171)
    at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
    at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
    at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
    at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
    at org.checkerframework.framework.source.SourceVisitor.visitClass(SourceVisitor.java:94)
    at org.checkerframework.common.basetype.BaseTypeVisitor.processClassTree(BaseTypeVisitor.java:384)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:337)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:171)
    at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
    at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
    at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:88)
    at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:299)
    at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:171)
    at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
    at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
    at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
    at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
    at org.checkerframework.framework.source.SourceVisitor.visitClass(SourceVisitor.java:94)
    at org.checkerframework.common.basetype.BaseTypeVisitor.processClassTree(BaseTypeVisitor.java:384)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:337)
    at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:171)
    at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
    at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:56)
    at org.checkerframework.framework.source.SourceVisitor.visit(SourceVisitor.java:82)
    at org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:916)
    at org.checkerframework.common.basetype.BaseTypeChecker.typeProcess(BaseTypeChecker.java:502)
    at org.checkerframework.common.basetype.BaseTypeChecker.typeProcess(BaseTypeChecker.java:495)
    at org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:190)

Here are some more examples of just the primary error:

error: AsSuperVisitor: type is not an erased subtype of supertype.
  type: @Initialized @NonNull PInput
  superType: @Initialized @NonNull PCollection<? extends @Initialized @Nullable Object>
  ; The Checker Framework crashed.  Please report the crash.
  Compilation unit: /Users/klk/GitHub/apache/beam/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
  Last visited tree at line 53 column 9:
          AppliedPTransform<?, ?, Window.Assign<?>> transform, SdkComponents components) {
error: AsSuperVisitor: type is not an erased subtype of supertype.
  type: @Initialized @NonNull PInput
  superType: @Initialized @NonNull PCollectionList<? extends @Initialized @Nullable Object>
  ; The Checker Framework crashed.  Please report the crash.
  Compilation unit: /Users/klk/GitHub/apache/beam/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/FlattenTranslator.java
  Last visited tree at line 49 column 7:
        AppliedPTransform<?, ?, Flatten.PCollections<?>> transform, SdkComponents components) {

I may not understand what is going on. Certainly PInput is not a subtype of PCollectionList<T> nor PCollection<T> but rather the converse is true.

I am running this with checkerframework 3.5.0. You can vary the version by editing the relevant line in BeamModulePlugin.groovy.

kennknowles commented 3 years ago

Something about the pattern of programming in these translators is causing the problem fairly reliably. These match a Java class and translate it to a proto representation, more or less. I doubt that is relevant.

mernst commented 3 years ago

Unfortunately, I cannot reproduce this problem. The output when I run the given commands is:

> Task :buildSrc:compileJava NO-SOURCE

> Task :buildSrc:compileGroovy
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/home/mernst/.gradle/wrapper/dists/gradle-6.6.1-all/ejrtlte9hlw8v6ii20a9584rs/gradle-6.6.1/lib/groovy-all-1.3-2.5.12.jar) to method java.util.AbstractCollection.hugeCapacity(int)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

> Task :buildSrc:pluginDescriptors
> Task :buildSrc:processResources
> Task :buildSrc:classes
> Task :buildSrc:jar
> Task :buildSrc:assemble
> Task :buildSrc:spotlessGroovy
> Task :buildSrc:spotlessGroovyCheck
> Task :buildSrc:spotlessGroovyGradle FROM-CACHE
> Task :buildSrc:spotlessGroovyGradleCheck UP-TO-DATE
> Task :buildSrc:spotlessCheck
> Task :buildSrc:pluginUnderTestMetadata
> Task :buildSrc:compileTestJava NO-SOURCE
> Task :buildSrc:compileTestGroovy NO-SOURCE
> Task :buildSrc:processTestResources NO-SOURCE
> Task :buildSrc:testClasses UP-TO-DATE
> Task :buildSrc:test NO-SOURCE
> Task :buildSrc:validatePlugins
> Task :buildSrc:check
> Task :buildSrc:build
Configuration on demand is an incubating feature.
> Task :beam-test-jenkins:compileJava NO-SOURCE
> Task :release:compileJava NO-SOURCE
> Task :beam-test-infra-metrics:compileJava NO-SOURCE
> Task :model:pipeline:createCheckerFrameworkManifest
> Task :sdks:java:harness:createCheckerFrameworkManifest
> Task :sdks:java:fn-execution:createCheckerFrameworkManifest
> Task :runners:java-fn-execution:createCheckerFrameworkManifest
> Task :sdks:java:expansion-service:createCheckerFrameworkManifest
> Task :sdks:java:extensions:google-cloud-platform-core:createCheckerFrameworkManifest
> Task :examples:java:createCheckerFrameworkManifest
> Task :runners:core-construction-java:createCheckerFrameworkManifest
> Task :model:job-management:createCheckerFrameworkManifest
> Task :model:fn-execution:createCheckerFrameworkManifest
> Task :sdks:java:extensions:ml:createCheckerFrameworkManifest
> Task :sdks:java:core:createCheckerFrameworkManifest
> Task :vendor:sdks-java-extensions-protobuf:createCheckerFrameworkManifest
> Task :runners:core-java:createCheckerFrameworkManifest
> Task :sdks:java:harness:processResources NO-SOURCE
> Task :sdks:java:core:generateAvroProtocol NO-SOURCE
> Task :sdks:java:fn-execution:processResources NO-SOURCE
> Task :sdks:java:expansion-service:processResources NO-SOURCE
> Task :sdks:java:extensions:ml:processResources NO-SOURCE
> Task :runners:java-fn-execution:processResources NO-SOURCE
> Task :sdks:java:extensions:google-cloud-platform-core:processResources NO-SOURCE
> Task :runners:core-construction-java:processResources NO-SOURCE
> Task :sdks:java:core:generateAvroJava NO-SOURCE
> Task :runners:core-java:processResources NO-SOURCE
> Task :vendor:sdks-java-extensions-protobuf:processResources NO-SOURCE
> Task :examples:kotlin:createCheckerFrameworkManifest
> Task :runners:direct-java:createCheckerFrameworkManifest
> Task :sdks:java:extensions:protobuf:createCheckerFrameworkManifest
> Task :sdks:java:io:google-cloud-platform:createCheckerFrameworkManifest
> Task :runners:local-java:createCheckerFrameworkManifest
> Task :model:fn-execution:extractProto
> Task :model:job-management:extractProto
> Task :runners:google-cloud-dataflow-java:createCheckerFrameworkManifest
> Task :runners:java-job-service:createCheckerFrameworkManifest
> Task :runners:java-job-service:processResources NO-SOURCE
> Task :sdks:java:io:google-cloud-platform:processResources NO-SOURCE
> Task :vendor:calcite-1_20_0:compileJava NO-SOURCE
> Task :vendor:bytebuddy-1_10_8:compileJava NO-SOURCE
> Task :vendor:grpc-1_26_0:compileJava NO-SOURCE
> Task :runners:local-java:processResources NO-SOURCE
> Task :sdks:java:extensions:protobuf:extractProto
> Task :runners:spark:createCheckerFrameworkManifest
> Task :runners:twister2:createCheckerFrameworkManifest
> Task :runners:jet:createCheckerFrameworkManifest
> Task :runners:samza:createCheckerFrameworkManifest
> Task :sdks:java:core:generateGrammarSource FROM-CACHE
> Task :runners:flink:1.10:copyResourcesOverrides NO-SOURCE
> Task :sdks:java:extensions:protobuf:processResources NO-SOURCE
> Task :vendor:guava-26_0-jre:compileJava NO-SOURCE
> Task :runners:flink:1.9:copyResourcesOverrides NO-SOURCE
> Task :runners:flink:1.11:copyResourcesOverrides NO-SOURCE
> Task :runners:flink:1.8:copyResourcesOverrides NO-SOURCE
> Task :model:job-management:processResources
> Task :sdks:java:build-tools:createCheckerFrameworkManifest
> Task :runners:extensions-java:metrics:createCheckerFrameworkManifest
> Task :model:fn-execution:processResources
> Task :runners:google-cloud-dataflow-java:examples:createCheckerFrameworkManifest
> Task :runners:google-cloud-dataflow-java:examples:compileJava NO-SOURCE
> Task :runners:google-cloud-dataflow-java:examples-streaming:createCheckerFrameworkManifest
> Task :runners:google-cloud-dataflow-java:worker:windmill:createCheckerFrameworkManifest
> Task :runners:portability:java:createCheckerFrameworkManifest
> Task :runners:google-cloud-dataflow-java:worker:createCheckerFrameworkManifest
> Task :runners:flink:1.8:copySourceOverrides
> Task :runners:google-cloud-dataflow-java:processResources
> Task :sdks:java:core:processResources
> Task :runners:flink:1.11:copySourceOverrides
> Task :runners:flink:1.10:copySourceOverrides
> Task :runners:flink:1.9:copySourceOverrides
> Task :runners:flink:1.10:copyTestResourcesOverrides NO-SOURCE
> Task :runners:flink:1.11:copyTestResourcesOverrides NO-SOURCE
> Task :runners:flink:1.9:copyTestResourcesOverrides NO-SOURCE
> Task :runners:flink:1.8:copyTestResourcesOverrides NO-SOURCE
> Task :runners:flink:1.11:createCheckerFrameworkManifest
> Task :runners:flink:1.9:createCheckerFrameworkManifest
> Task :runners:flink:1.8:createCheckerFrameworkManifest
> Task :runners:spark:job-server:createCheckerFrameworkManifest
> Task :runners:spark:processResources
> Task :runners:samza:processResources
> Task :runners:flink:1.10:createCheckerFrameworkManifest
> Task :runners:samza:job-server:createCheckerFrameworkManifest
> Task :runners:google-cloud-dataflow-java:examples-streaming:compileJava NO-SOURCE
> Task :sdks:java:bom:compileJava NO-SOURCE
> Task :sdks:java:javadoc:createCheckerFrameworkManifest
> Task :runners:flink:1.10:processResources
> Task :runners:flink:1.10:job-server:createCheckerFrameworkManifest
> Task :runners:flink:1.11:processResources
> Task :runners:flink:1.9:processResources
> Task :runners:google-cloud-dataflow-java:worker:legacy-worker:createCheckerFrameworkManifest
> Task :runners:flink:1.8:job-server:createCheckerFrameworkManifest
> Task :sdks:java:extensions:euphoria:createCheckerFrameworkManifest
> Task :runners:flink:1.8:processResources
> Task :runners:flink:1.9:job-server:createCheckerFrameworkManifest
> Task :runners:flink:1.11:job-server:createCheckerFrameworkManifest
> Task :sdks:java:extensions:join-library:createCheckerFrameworkManifest
> Task :sdks:java:extensions:jackson:createCheckerFrameworkManifest
> Task :runners:direct-java:processResources NO-SOURCE
> Task :sdks:java:extensions:join-library:processResources NO-SOURCE
> Task :sdks:java:javadoc:compileJava NO-SOURCE
> Task :sdks:java:io:kafka:createCheckerFrameworkManifest
> Task :sdks:java:io:mongodb:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sketching:createCheckerFrameworkManifest
> Task :sdks:java:extensions:zetasketch:createCheckerFrameworkManifest
> Task :sdks:java:io:parquet:createCheckerFrameworkManifest
> Task :sdks:java:io:hadoop-common:createCheckerFrameworkManifest
> Task :sdks:java:extensions:schemaio-expansion-service:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sorter:createCheckerFrameworkManifest
> Task :sdks:java:io:amazon-web-services:createCheckerFrameworkManifest
> Task :sdks:java:io:jdbc:createCheckerFrameworkManifest
> Task :sdks:java:extensions:kryo:createCheckerFrameworkManifest
> Task :sdks:java:io:mongodb:processResources NO-SOURCE
> Task :sdks:java:io:hadoop-common:processResources NO-SOURCE
> Task :sdks:java:io:jdbc:processResources NO-SOURCE
> Task :sdks:java:io:parquet:processResources NO-SOURCE
> Task :sdks:java:io:kafka:processResources NO-SOURCE
> Task :sdks:java:io:azure:createCheckerFrameworkManifest
> Task :sdks:java:io:amqp:createCheckerFrameworkManifest
> Task :sdks:java:io:amazon-web-services2:createCheckerFrameworkManifest
> Task :sdks:java:io:cassandra:createCheckerFrameworkManifest
> Task :sdks:java:io:expansion-service:createCheckerFrameworkManifest
> Task :sdks:java:io:elasticsearch:createCheckerFrameworkManifest
> Task :sdks:java:io:bigquery-io-perf-tests:createCheckerFrameworkManifest
> Task :sdks:java:io:contextualtextio:createCheckerFrameworkManifest
> Task :sdks:java:io:file-based-io-tests:createCheckerFrameworkManifest
> Task :sdks:java:io:common:createCheckerFrameworkManifest
> Task :sdks:java:io:bigquery-io-perf-tests:compileJava NO-SOURCE
> Task :sdks:java:io:common:compileJava NO-SOURCE
> Task :sdks:java:io:hbase:createCheckerFrameworkManifest
> Task :sdks:java:io:kinesis:createCheckerFrameworkManifest
> Task :sdks:java:io:file-based-io-tests:compileJava NO-SOURCE
> Task :sdks:java:io:jms:createCheckerFrameworkManifest
> Task :sdks:java:io:influxdb:createCheckerFrameworkManifest
> Task :sdks:java:io:hadoop-file-system:createCheckerFrameworkManifest
> Task :sdks:java:io:hcatalog:createCheckerFrameworkManifest
> Task :sdks:java:io:hadoop-format:createCheckerFrameworkManifest
> Task :sdks:java:io:kudu:createCheckerFrameworkManifest
> Task :examples:java:processResources NO-SOURCE
> Task :sdks:java:io:redis:createCheckerFrameworkManifest
> Task :sdks:java:io:mqtt:createCheckerFrameworkManifest
> Task :sdks:java:io:splunk:createCheckerFrameworkManifest
> Task :sdks:java:io:solr:createCheckerFrameworkManifest
> Task :sdks:java:io:snowflake:createCheckerFrameworkManifest
> Task :sdks:java:io:xml:createCheckerFrameworkManifest
> Task :sdks:java:io:thrift:createCheckerFrameworkManifest
> Task :sdks:java:maven-archetypes:examples:createCheckerFrameworkManifest
> Task :sdks:java:io:synthetic:createCheckerFrameworkManifest
> Task :sdks:java:io:tika:createCheckerFrameworkManifest
> Task :sdks:java:io:rabbitmq:createCheckerFrameworkManifest
> Task :sdks:java:io:synthetic:processResources NO-SOURCE
> Task :sdks:java:maven-archetypes:starter:createCheckerFrameworkManifest
> Task :sdks:java:testing:kafka-service:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sql:zetasql:createCheckerFrameworkManifest
> Task :sdks:java:io:kinesis:processResources NO-SOURCE
> Task :sdks:java:testing:expansion-service:createCheckerFrameworkManifest
> Task :sdks:java:testing:test-utils:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sql:datacatalog:createCheckerFrameworkManifest
> Task :sdks:java:testing:load-tests:createCheckerFrameworkManifest
> Task :sdks:java:testing:jpms-tests:createCheckerFrameworkManifest
> Task :sdks:java:testing:nexmark:createCheckerFrameworkManifest
> Task :sdks:java:testing:test-utils:processResources NO-SOURCE
> Task :sdks:java:extensions:sql:zetasql:processResources NO-SOURCE
> Task :sdks:java:testing:kafka-service:compileJava NO-SOURCE
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-2:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sql:perf-tests:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sql:jdbc:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sql:hcatalog:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sql:expansion-service:createCheckerFrameworkManifest
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-7:createCheckerFrameworkManifest
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-6:createCheckerFrameworkManifest
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-common:createCheckerFrameworkManifest
> Task :sdks:java:io:hcatalog:processResources
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-5:createCheckerFrameworkManifest
> Task :sdks:java:io:kinesis:expansion-service:createCheckerFrameworkManifest
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-6:compileJava NO-SOURCE
> Task :sdks:java:extensions:sql:perf-tests:compileJava NO-SOURCE
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-2:compileJava NO-SOURCE
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-5:compileJava NO-SOURCE
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-common:compileJava NO-SOURCE
> Task :sdks:java:io:snowflake:processResources NO-SOURCE
> Task :sdks:java:io:elasticsearch-tests:elasticsearch-tests-7:compileJava NO-SOURCE
> Task :sdks:java:io:snowflake:expansion-service:createCheckerFrameworkManifest
> Task :sdks:python:test-suites:direct:xlang:createCheckerFrameworkManifest
> Task :sdks:python:test-suites:direct:xlang:compileJava NO-SOURCE
> Task :sdks:java:extensions:sql:jdbc:processResources
> Task :sdks:java:extensions:sql:copyFmppTemplatesFromCalciteCore
> Task :sdks:java:extensions:sql:copyFmppTemplatesFromSrc
> Task :runners:google-cloud-dataflow-java:worker:windmill:extractIncludeProto
> Task :runners:google-cloud-dataflow-java:worker:windmill:extractProto
> Task :model:pipeline:extractIncludeProto
> Task :model:pipeline:extractProto

> Task :sdks:java:io:clickhouse:compileJavacc
Java Compiler Compiler Version 4.0 (Parser Generator)
(type "javacc" with no arguments for help)
Reading from file /home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/src/main/javacc/ColumnTypeParser.jj . . .
File "TokenMgrError.java" does not exist.  Will create one.
File "ParseException.java" does not exist.  Will create one.
File "Token.java" does not exist.  Will create one.
File "SimpleCharStream.java" does not exist.  Will create one.
Parser generated successfully.

> Task :sdks:java:io:clickhouse:createCheckerFrameworkManifest
> Task :runners:google-cloud-dataflow-java:worker:windmill:generateProto
> Task :sdks:java:extensions:sql:generateFmppSources
> Task :model:pipeline:generateProto

> Task :sdks:java:extensions:sql:compileJavacc
Java Compiler Compiler Version 4.0 (Parser Generator)
(type "javacc" with no arguments for help)
Reading from file /home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/sql/build/generated/fmpp/javacc/Parser.jj . . .
Note: UNICODE_INPUT option is specified. Please make sure you create the parser/lexer using a Reader with the correct character encoding.
Warning: Lookahead adequacy checking not being performed since option LOOKAHEAD is more than 1.  Set option FORCE_LA_CHECK to true to force checking.
File "TokenMgrError.java" does not exist.  Will create one.
File "ParseException.java" does not exist.  Will create one.
File "Token.java" does not exist.  Will create one.
File "SimpleCharStream.java" does not exist.  Will create one.
Parser generated with 0 errors and 1 warnings.

> Task :sdks:java:extensions:sql:createCheckerFrameworkManifest
> Task :sdks:java:extensions:sql:processResources
> Task :sdks:java:build-tools:compileJava
> Task :sdks:java:build-tools:processResources
> Task :sdks:java:build-tools:classes
> Task :sdks:java:build-tools:jar
> Task :runners:google-cloud-dataflow-java:worker:windmill:compileJava
> Task :runners:google-cloud-dataflow-java:worker:windmill:processResources
> Task :runners:google-cloud-dataflow-java:worker:windmill:classes
> Task :runners:google-cloud-dataflow-java:worker:windmill:shadowJar
> Task :model:pipeline:compileJava
> Task :model:pipeline:processResources
> Task :model:pipeline:classes
> Task :model:pipeline:jar
> Task :model:fn-execution:extractIncludeProto
> Task :model:job-management:extractIncludeProto
> Task :model:job-management:generateProto
> Task :model:fn-execution:generateProto
> Task :model:pipeline:shadowJar
> Task :model:fn-execution:compileJava
> Task :model:fn-execution:classes
> Task :model:job-management:compileJava
> Task :model:job-management:classes
> Task :model:fn-execution:shadowJar
> Task :model:job-management:shadowJar
> Task :sdks:java:core:compileJava

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.errorprone.bugpatterns.FutureReturnValueIgnored (file:/home/mernst/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_core/2.3.1/f37275ef54272b89663d47bd11889b849a7fb652/error_prone_core-2.3.1.jar) to field com.sun.tools.javac.code.Type$StructuralTypeMapping$4.this$0
WARNING: Please consider reporting this to the maintainers of com.google.errorprone.bugpatterns.FutureReturnValueIgnored
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

> Task :sdks:java:core:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:core:classes
> Task :sdks:java:core:shadowJar
> Task :sdks:java:extensions:protobuf:extractIncludeProto
> Task :sdks:java:extensions:protobuf:generateProto NO-SOURCE
> Task :sdks:java:core:jar
> Task :runners:local-java:compileJava
> Task :runners:local-java:classes
> Task :runners:local-java:jar
> Task :sdks:java:fn-execution:compileJava
> Task :vendor:sdks-java-extensions-protobuf:compileJava
> Task :sdks:java:extensions:google-cloud-platform-core:compileJava
> Task :runners:extensions-java:metrics:compileJava
> Task :sdks:java:extensions:euphoria:compileJava
> Task :sdks:java:extensions:jackson:compileJava
> Task :sdks:java:extensions:join-library:compileJava
> Task :sdks:java:extensions:kryo:compileJava
> Task :sdks:java:io:jdbc:compileJava
> Task :sdks:java:extensions:sketching:compileJava
> Task :sdks:java:extensions:sorter:compileJava
> Task :sdks:java:io:hadoop-common:compileJava
> Task :sdks:java:io:mongodb:compileJava
> Task :sdks:java:extensions:protobuf:compileJava
> Task :sdks:java:extensions:zetasketch:compileJava
> Task :sdks:java:io:hadoop-common:classes
> Task :sdks:java:io:hadoop-common:jar

> Task :sdks:java:extensions:join-library:compileJava
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/join-library/src/main/java/org/apache/beam/sdk/extensions/joinlibrary/Join.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:extensions:join-library:classes
> Task :sdks:java:extensions:join-library:jar
> Task :sdks:java:io:amazon-web-services:compileJava

> Task :sdks:java:extensions:google-cloud-platform-core:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GcpOptions.java:221: error: [dereference.of.nullable] dereference of possibly-null reference matcher.group(1)
              String project = matcher.group(1).trim();
                                            ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GcpOptions.java:235: error: [return.type.incompatible] incompatible types in return.
      return null;
             ^
  type of expression: null
  method return type: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GcpOptions.java:301: error: [override.return.invalid] Incompatible return type.
    public @Nullable String create(PipelineOptions options) {
                     ^
  Method
    @Initialized @Nullable String create(@Initialized @NonNull GcpTempLocationFactory this, @Initialized @NonNull PipelineOptions p0) in org.apache.beam.sdk.extensions.gcp.options.GcpOptions.GcpTempLocationFactory
  cannot override
    @Initialized @NonNull String create(@Initialized @NonNull DefaultValueFactory<@Initialized @NonNull String> this, @Initialized @NonNull PipelineOptions p0) in org.apache.beam.sdk.options.DefaultValueFactory
  found   : @Initialized @Nullable String
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GoogleApiDebugOptions.java:67: error: [argument.type.incompatible] incompatible argument for parameter key of put.
      put(client.getClass().getCanonicalName(), traceDestination);
                                            ^
  found   : @Initialized @Nullable String
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GoogleApiDebugOptions.java:77: error: [argument.type.incompatible] incompatible argument for parameter key of put.
      put(request.getClass().getCanonicalName(), traceDestination);
                                             ^
  found   : @Initialized @Nullable String
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/options/GoogleApiDebugOptions.java:84: error: [dereference.of.nullable] dereference of possibly-null reference request.getClass().getCanonicalName()
        if (request.getClass().getCanonicalName().contains(entry.getKey())) {
                                               ^

> Task :sdks:java:io:amqp:compileJava
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/amqp/src/main/java/org/apache/beam/sdk/io/amqp/AmqpIO.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :sdks:java:io:azure:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzfsResourceId.java:157: warning: [type.anno.before.decl.anno] write type annotations [@Nullable()] immediately before type, after declaration annotation @Override()
  public String getFilename() {
                ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/azure/src/main/java/org/apache/beam/sdk/io/azure/blobstore/AzfsResourceId.java:157: warning: [type.anno.before.modifier] write type annotation @Nullable() immediately before type, after modifiers [public]
  public String getFilename() {
                ^
error: warnings found and -Werror specified

> Task :sdks:java:io:parquet:compileJava
> Task :sdks:java:io:amazon-web-services2:compileJava

> Task :sdks:java:io:azure:compileJava FAILED
1 error
2 warnings

> Task :sdks:java:io:jdbc:compileJava
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/jdbc/src/main/java/org/apache/beam/sdk/io/jdbc/JdbcIO.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:io:mongodb:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:fn-execution:compileJava
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/fn-execution/src/main/java/org/apache/beam/sdk/fn/data/BeamFnDataSizeBasedBufferingOutboundObserver.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:io:cassandra:compileJava

> Task :sdks:java:io:parquet:compileJava
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/parquet/src/main/java/org/apache/beam/sdk/io/parquet/ParquetIO.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:io:clickhouse:compileJava

> Task :vendor:sdks-java-extensions-protobuf:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoMessageSchema.java:88: warning: [type.anno.before.decl.anno] write type annotations [@Nullable()] immediately before type, after declaration annotation @Override()
  public <T> Schema schemaFor(TypeDescriptor<T> typeDescriptor) {
                    ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoMessageSchema.java:88: warning: [type.anno.before.modifier] write type annotation @Nullable() immediately before type, after modifiers [public]
  public <T> Schema schemaFor(TypeDescriptor<T> typeDescriptor) {
                    ^
error: warnings found and -Werror specified

> Task :sdks:java:io:contextualtextio:compileJava

> Task :sdks:java:extensions:google-cloud-platform-core:compileJava FAILED
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
6 errors

> Task :sdks:java:io:hadoop-file-system:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/hadoop-file-system/src/main/java/org/apache/beam/sdk/io/hdfs/HadoopFileSystemOptions.java:68: error: [return.type.incompatible] incompatible types in return.
      return configurationList.size() > 0 ? configurationList : null;
                                          ^
  type of expression: @Initialized @Nullable List<@Initialized @NonNull Configuration>
  method return type: @Initialized @NonNull List<@Initialized @NonNull Configuration>
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/hadoop-file-system/src/main/java/org/apache/beam/sdk/io/hdfs/HadoopFileSystemOptions.java:86: error: [argument.type.incompatible] incompatible argument for parameter arg0 of add.
            confDirs.add(hadoopConfDir);
                         ^
  found   : @Initialized @Nullable String
  required: @Initialized @NonNull String

> Task :sdks:java:io:elasticsearch:compileJava

> Task :sdks:java:io:contextualtextio:compileJava
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/contextualtextio/src/main/java/org/apache/beam/sdk/io/contextualtextio/RecordWithMetadata.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:io:amazon-web-services:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/s3/S3ResourceId.java:160: warning: [type.anno.before.decl.anno] write type annotations [@Nullable()] immediately before type, after declaration annotation @Override()
  public String getFilename() {
                ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/s3/S3ResourceId.java:160: warning: [type.anno.before.modifier] write type annotation @Nullable() immediately before type, after modifiers [public]
  public String getFilename() {
                ^
error: warnings found and -Werror specified

> Task :sdks:java:io:hadoop-file-system:compileJava FAILED
2 errors

> Task :sdks:java:extensions:protobuf:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoMessageSchema.java:88: warning: [type.anno.before.decl.anno] write type annotations [@Nullable()] immediately before type, after declaration annotation @Override()
  public <T> Schema schemaFor(TypeDescriptor<T> typeDescriptor) {
                    ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/extensions/protobuf/src/main/java/org/apache/beam/sdk/extensions/protobuf/ProtoMessageSchema.java:88: warning: [type.anno.before.modifier] write type annotation @Nullable() immediately before type, after modifiers [public]
  public <T> Schema schemaFor(TypeDescriptor<T> typeDescriptor) {
                    ^
error: warnings found and -Werror specified

> Task :sdks:java:io:cassandra:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:io:clickhouse:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParser.java:490: error: [argument.type.incompatible] incompatible argument for parameter encoding of <init>.
     this(stream, null);
                  ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParser.java:492: error: [initialization.fields.uninitialized] the constructor does not initialize fields: jj_nt, jj_scanpos, jj_lastpos, jj_expentry
  public ColumnTypeParser(java.io.InputStream stream, String encoding) {
         ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParser.java:503: error: [argument.type.incompatible] incompatible argument for parameter encoding of ReInit.
     ReInit(stream, null);
                    ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParser.java:515: error: [initialization.fields.uninitialized] the constructor does not initialize fields: jj_nt, jj_scanpos, jj_lastpos, jj_expentry
  public ColumnTypeParser(java.io.Reader stream) {
         ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParser.java:535: error: [initialization.fields.uninitialized] the constructor does not initialize fields: jj_input_stream, jj_nt, jj_scanpos, jj_lastpos, jj_expentry
  public ColumnTypeParser(ColumnTypeParserTokenManager tm) {
         ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParser.java:565: error: [assignment.type.incompatible] incompatible types in assignment.
            if (c.gen < jj_gen) c.first = null;
                                          ^
  found   : null
  required: @Initialized @NonNull Token
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParser.java:728: error: [initialization.fields.uninitialized] the constructor does not initialize fields: first, next
  static final class JJCalls {
               ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ParseException.java:49: error: [initialization.fields.uninitialized] the constructor does not initialize fields: currentToken, expectedTokenSequences, tokenImage
  public ParseException() {
         ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ParseException.java:54: error: [initialization.fields.uninitialized] the constructor does not initialize fields: currentToken, expectedTokenSequences, tokenImage
  public ParseException(String message) {
         ^
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ParseException.java:99: error: [return.type.incompatible] incompatible types in return.
      return super.getMessage();
                             ^
  type of expression: @Initialized @Nullable String
  method return type: @Initialized @NonNull String

> Task :vendor:sdks-java-extensions-protobuf:compileJava FAILED
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
2 warnings

> Task :sdks:java:io:clickhouse:compileJava
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:581: error: [assignment.type.incompatible] incompatible types in assignment.
public static final String[] jjstrLiteralImages = {
                                                  ^
  found   : @Initialized @Nullable String @Initialized @NonNull []
  required: @Initialized @NonNull String @Initialized @NonNull []
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
    ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
          ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                      ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                            ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                                  ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                                        ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                                              ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                                                    ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                                                          ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                                                                ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:582: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"", null, null, null, null, null, null, null, null, null, null, null, null, 
                                                                      ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
      ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
            ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                  ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                        ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                              ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                                    ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                                          ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                                                ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                                                      ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                                                            ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:583: error: [array.initializer.type.incompatible] incompatible types in array initializer.
null, null, null, null, null, null, null, null, null, null, null, null, "\50", 
                                                                  ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:584: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"\51", null, null, "\54", "\75", };
       ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:584: error: [array.initializer.type.incompatible] incompatible types in array initializer.
"\51", null, null, "\54", "\75", };
             ^
  found   : null
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:605: error: [method.invocation.invalid] call to SwitchTo(int) not allowed on the given receiver.
   SwitchTo(lexState);
           ^
  found   : @UnderInitialization(org.apache.beam.sdk.io.clickhouse.impl.parser.ColumnTypeParserTokenManager.class) @NonNull ColumnTypeParserTokenManager
  required: @Initialized @NonNull ColumnTypeParserTokenManager
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/ColumnTypeParserTokenManager.java:716: error: [argument.type.incompatible] incompatible argument for parameter errorAfter of <init>.
   throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
                                                                           ^
  found   : @Initialized @Nullable String
  required: @Initialized @NonNull String
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/SimpleCharStream.java:386: error: [assignment.type.incompatible] incompatible types in assignment.
     buffer = null;
              ^
  found   : null
  required: @Initialized @NonNull char @Initialized @NonNull []
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/SimpleCharStream.java:387: error: [assignment.type.incompatible] incompatible types in assignment.
     bufline = null;
               ^
  found   : null
  required: @Initialized @NonNull int @Initialized @NonNull []
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/SimpleCharStream.java:388: error: [assignment.type.incompatible] incompatible types in assignment.
     bufcolumn = null;
                 ^
  found   : null
  required: @Initialized @NonNull int @Initialized @NonNull []
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/Token.java:8: error: [initialization.fields.uninitialized] the constructor does not initialize fields: image, next, specialToken
public class Token {
       ^

> Task :sdks:java:io:amazon-web-services:compileJava FAILED
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/dynamodb/DynamoDBIO.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
2 warnings

> Task :sdks:java:io:clickhouse:compileJava FAILED
/home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/clickhouse/build/generated/javacc/org/apache/beam/sdk/io/clickhouse/impl/parser/TokenMgrError.java:115: error: [return.type.incompatible] incompatible types in return.
      return super.getMessage();
                             ^
  type of expression: @Initialized @Nullable String
  method return type: @Initialized @NonNull String
44 errors

> Task :sdks:java:extensions:protobuf:compileJava FAILED
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
2 warnings

> Task :sdks:java:io:amazon-web-services2:compileJava
Note: /home/mernst/tmp/beam/beam-issue-3791/sdks/java/io/amazon-web-services2/src/main/java/org/apache/beam/sdk/io/aws2/dynamodb/DynamoDBIO.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :sdks:java:extensions:euphoria:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

FAILURE: Build completed with 7 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':sdks:java:io:azure:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':sdks:java:extensions:google-cloud-platform-core:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

3: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':sdks:java:io:hadoop-file-system:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

4: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':vendor:sdks-java-extensions-protobuf:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

5: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':sdks:java:io:amazon-web-services:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

6: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':sdks:java:io:clickhouse:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

7: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':sdks:java:extensions:protobuf:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 3m 50s
193 actionable tasks: 192 executed, 1 from cache
kennknowles commented 3 years ago

I realize that I have made two errors in my reports:

  1. I did not indicate that I am building with JDK8. I don't know if that makes a difference.
  2. I am actually building with the --continue flag in order to annotate as many classes as possible with each pass. So without the flag, the build will likely fail before hitting the crash.
mernst commented 3 years ago

Thanks for the update.

If you can provide a smaller test case, that will help us greatly: we will be able to focus on the essence of the problem rather than the richness of beam and its build system. For example, if you can identify the file with the problem and provide that file (along with stubs for APIs it uses), that would be extremely helpful. Is that possible?

smillst commented 3 years ago

Here's a small test case:

public class Issue3791 {
    interface MyInterface {}

    abstract static class MyClass<A extends MyInterface> {}

    static class SubMyClass<B> extends MyClass<Generic<? extends B>> {}

    static class Generic<C> implements MyInterface {}

    abstract static class MyInterfaceMyClass<D extends MyInterface, E extends MyClass<? super D>> {}

    void method(MyInterfaceMyClass<?, ?> param) {
        MyInterfaceMyClass<?, SubMyClass<?>> local = (MyInterfaceMyClass<?, SubMyClass<?>>) param;
    }
}