quarkus: [hibernate-validator] NoClassDefFoundError: org/joda/time/ReadableInstant

Describe the bug We are working an an extension for camel-bean-validator (based on hibernate-validator) and experiencing this error while building in native mode:

Error: Unsupported features in 4 methods
Detailed message:
Error: Class initialization of org.hibernate.validator.internal.constraintvalidators.bv.time.future.FutureValidatorForReadablePartial failed. Use the option --initialize-at-run-time=org.hibernate.validator.internal.constraintvalidators.bv.time.future.FutureValidatorForReadablePartial to explicitly request delayed initialization of this class.
Original exception that caused the problem: java.lang.NoClassDefFoundError: org/joda/time/ReadableInstant
	at sun.misc.Unsafe.ensureClassInitialized(Native Method)
	at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.ensureClassInitialized(ConfigurableClassInitialization.java:153)
	at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:557)
	at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:116)
	at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.maybeInitializeHosted(ConfigurableClassInitialization.java:144)
	at com.oracle.svm.hosted.SVMHost.registerType(SVMHost.java:190)
	at com.oracle.graal.pointsto.meta.AnalysisUniverse.createType(AnalysisUniverse.java:262)
	at com.oracle.graal.pointsto.meta.AnalysisUniverse.lookupAllowUnresolved(AnalysisUniverse.java:203)
	at com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup(AnalysisUniverse.java:180)
	at com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup(AnalysisUniverse.java:74)
	at com.oracle.graal.pointsto.infrastructure.WrappedConstantPool.lookupConstant(WrappedConstantPool.java:182)
	at org.graalvm.compiler.java.BytecodeParser.lookupConstant(BytecodeParser.java:4153)
	at org.graalvm.compiler.java.BytecodeParser.genLoadConstant(BytecodeParser.java:3824)
	at org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:4961)
	at org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3267)
	at org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3074)
	at org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:976)
	at org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:870)
	at org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:84)
	at org.graalvm.compiler.phases.Phase.run(Phase.java:49)
	at org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:197)
	at org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
	at org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
	at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:221)
	at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:340)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:310)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:300)
	at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:107)
	at com.oracle.graal.pointsto.flow.SpecialInvokeTypeFlow.onObservedUpdate(InvokeTypeFlow.java:421)
	at com.oracle.graal.pointsto.flow.TypeFlow.notifyObservers(TypeFlow.java:343)
	at com.oracle.graal.pointsto.flow.TypeFlow.update(TypeFlow.java:385)
	at com.oracle.graal.pointsto.flow.SourceTypeFlowBase.update(SourceTypeFlowBase.java:121)
	at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:510)
	at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:171)
	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.ClassNotFoundException: org.joda.time.ReadableInstant
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 39 more

Expected behavior Joda is not on classpath so it should not fail

To Reproduce Steps to reproduce the behavior:

  1. clone https://github.com/lburgazzoli/apache-camel-quarkus/tree/camel-bean-validator
  2. mvn clean install -DskipTests
  3. mvn clean install -Dnative -pl :camel-quarkus-integration-test-bean-validator

Environment (please complete the following information):

  • Output of uname -a or ver: inux mars 5.3.9-300.fc31.x86_64 #1 SMP Wed Nov 6 16:13:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
  • Output of java -version: openjdk version “1.8.0_232”, OpenJDK Runtime Environment (build 1.8.0_232-b09), OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
  • GraalVM version (if different from Java): openjdk version “1.8.0_232”, OpenJDK Runtime Environment (build 1.8.0_232-20191008104205.buildslave.jdk8u-src-tar–b07), OpenJDK 64-Bit GraalVM CE 19.2.1 (build 25.232-b07-jvmci-19.2-b03, mixed mode)
  • Quarkus version or git rev: 1.0.0.CR1

Additional context

Runtime dependencies:

--- maven-dependency-plugin:3.1.1:tree (default-cli) @ camel-quarkus-integration-test-bean-validator ---
org.apache.camel.quarkus:camel-quarkus-integration-test-bean-validator:jar:0.3.2-SNAPSHOT
+- org.apache.camel.quarkus:camel-quarkus-bean-validator:jar:0.3.2-SNAPSHOT:compile
|  +- org.apache.camel.quarkus:camel-quarkus-core:jar:0.3.2-SNAPSHOT:compile
|  |  +- io.quarkus:quarkus-arc:jar:1.0.0.CR1:compile
|  |  |  +- io.quarkus.arc:arc:jar:1.0.0.CR1:compile
|  |  |  \- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:jar:1.0.1:compile
|  |  +- io.quarkus:quarkus-caffeine:jar:1.0.0.CR1:compile
|  |  |  \- com.github.ben-manes.caffeine:caffeine:jar:2.6.2:compile
|  |  +- org.apache.camel:camel-main:jar:3.0.0-RC3:compile
|  |  +- org.apache.camel:camel-core-engine:jar:3.0.0-RC3:compile
|  |  |  +- org.apache.camel:spi-annotations:jar:3.0.0-RC3:compile
|  |  |  +- org.apache.camel:camel-api:jar:3.0.0-RC3:compile
|  |  |  +- org.apache.camel:camel-management-api:jar:3.0.0-RC3:compile
|  |  |  +- org.apache.camel:camel-util:jar:3.0.0-RC3:compile
|  |  |  \- org.apache.camel:camel-util-json:jar:3.0.0-RC3:compile
|  |  +- org.apache.camel:camel-base:jar:3.0.0-RC3:compile
|  |  +- org.apache.camel:camel-caffeine-lrucache:jar:3.0.0-RC3:compile
|  |  +- org.apache.camel:camel-microprofile-config:jar:3.0.0-RC3:compile
|  |  |  \- org.eclipse.microprofile.config:microprofile-config-api:jar:1.3:compile
|  |  \- org.apache.camel.quarkus:camel-quarkus-support-common:jar:0.3.2-SNAPSHOT:compile
|  +- io.quarkus:quarkus-hibernate-validator:jar:1.0.0.CR1:compile
|  |  \- org.hibernate.validator:hibernate-validator:jar:6.1.0.Final:compile
|  |     \- com.fasterxml:classmate:jar:1.3.4:compile
|  +- org.apache.camel:camel-bean-validator:jar:3.0.0-RC3:compile
|  |  +- org.apache.camel:camel-support:jar:3.0.0-RC3:compile
|  |  +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
|  |  \- org.slf4j:slf4j-api:jar:1.7.25:compile
|  \- org.glassfish:jakarta.el:jar:3.0.3:compile
+- org.apache.camel.quarkus:camel-quarkus-direct:jar:0.3.2-SNAPSHOT:compile
|  \- org.apache.camel:camel-direct:jar:3.0.0-RC3:compile
+- io.quarkus:quarkus-resteasy:jar:1.0.0.CR1:compile
|  +- io.quarkus:quarkus-vertx-http:jar:1.0.0.CR1:compile
|  |  +- io.quarkus.security:quarkus-security:jar:1.0.0.Beta1:compile
|  |  +- jakarta.enterprise:jakarta.enterprise.cdi-api:jar:2.0.2:compile
|  |  |  +- jakarta.el:jakarta.el-api:jar:3.0.3:compile
|  |  |  \- jakarta.interceptor:jakarta.interceptor-api:jar:1.2.5:compile
|  |  |     \- jakarta.ejb:jakarta.ejb-api:jar:3.2.6:compile
|  |  |        \- jakarta.transaction:jakarta.transaction-api:jar:1.3.3:compile
|  |  +- io.quarkus:quarkus-vertx-core:jar:1.0.0.CR1:compile
|  |  |  +- io.quarkus:quarkus-netty:jar:1.0.0.CR1:compile
|  |  |  |  +- io.netty:netty-codec:jar:4.1.42.Final:compile
|  |  |  |  \- io.netty:netty-handler:jar:4.1.42.Final:compile
|  |  |  \- io.vertx:vertx-core:jar:3.8.3:compile
|  |  |     +- io.netty:netty-common:jar:4.1.42.Final:compile
|  |  |     +- io.netty:netty-buffer:jar:4.1.42.Final:compile
|  |  |     +- io.netty:netty-transport:jar:4.1.42.Final:compile
|  |  |     +- io.netty:netty-handler-proxy:jar:4.1.42.Final:compile
|  |  |     |  \- io.netty:netty-codec-socks:jar:4.1.42.Final:compile
|  |  |     +- io.netty:netty-codec-http:jar:4.1.42.Final:compile
|  |  |     +- io.netty:netty-codec-http2:jar:4.1.42.Final:compile
|  |  |     +- io.netty:netty-resolver:jar:4.1.42.Final:compile
|  |  |     +- io.netty:netty-resolver-dns:jar:4.1.42.Final:compile
|  |  |     |  \- io.netty:netty-codec-dns:jar:4.1.42.Final:compile
|  |  |     \- com.fasterxml.jackson.core:jackson-core:jar:2.9.10:compile
|  |  \- io.vertx:vertx-web:jar:3.8.3-01:compile
|  |     +- io.vertx:vertx-web-common:jar:3.8.3-01:compile
|  |     +- io.vertx:vertx-auth-common:jar:3.8.3:compile
|  |     \- io.vertx:vertx-bridge-common:jar:3.8.3:compile
|  \- io.quarkus:quarkus-resteasy-server-common:jar:1.0.0.CR1:compile
|     +- io.quarkus:quarkus-resteasy-common:jar:1.0.0.CR1:compile
|     |  +- org.jboss.resteasy:resteasy-core:jar:4.4.0.Final:compile
|     |  |  +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:2.0.1.Final:compile
|     |  |  +- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:2.0.0.Final:compile
|     |  |  +- org.jboss.resteasy:resteasy-core-spi:jar:4.4.0.Final:compile
|     |  |  \- org.reactivestreams:reactive-streams:jar:1.0.3:compile
|     |  \- com.sun.activation:jakarta.activation:jar:1.2.1:compile
|     \- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
+- io.quarkus:quarkus-junit5:jar:1.0.0.CR1:test
|  +- io.quarkus:quarkus-bootstrap-core:jar:1.0.0.CR1:test
|  |  +- com.google.guava:guava:jar:27.0.1-jre:test
|  |  |  +- com.google.guava:failureaccess:jar:1.0.1:test
|  |  |  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:test
|  |  |  +- com.google.code.findbugs:jsr305:jar:3.0.2:test
|  |  |  +- org.checkerframework:checker-qual:jar:2.5.2:test
|  |  |  +- com.google.errorprone:error_prone_annotations:jar:2.2.0:test
|  |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:test
|  |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.17:test
|  |  +- org.apache.commons:commons-lang3:jar:3.9:test
|  |  +- org.apache.maven:maven-embedder:jar:3.5.4:test
|  |  |  +- org.apache.maven:maven-settings:jar:3.5.4:test
|  |  |  +- org.apache.maven:maven-core:jar:3.5.4:test
|  |  |  |  \- org.apache.maven:maven-artifact:jar:3.5.4:test
|  |  |  +- org.apache.maven:maven-plugin-api:jar:3.5.4:test
|  |  |  +- org.apache.maven:maven-model:jar:3.5.4:test
|  |  |  +- org.apache.maven:maven-model-builder:jar:3.5.4:test
|  |  |  +- org.apache.maven:maven-builder-support:jar:3.5.4:test
|  |  |  +- org.apache.maven.resolver:maven-resolver-api:jar:1.1.1:test
|  |  |  +- org.apache.maven.resolver:maven-resolver-util:jar:1.1.1:test
|  |  |  +- org.apache.maven.shared:maven-shared-utils:jar:3.2.1:test
|  |  |  |  \- commons-io:commons-io:jar:2.6:test
|  |  |  +- com.google.inject:guice:jar:no_aop:4.2.0:test
|  |  |  |  \- aopalliance:aopalliance:jar:1.0:test
|  |  |  +- org.codehaus.plexus:plexus-utils:jar:3.0.24:test
|  |  |  +- org.codehaus.plexus:plexus-classworlds:jar:2.5.2:test
|  |  |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.3:test
|  |  |  +- org.codehaus.plexus:plexus-component-annotations:jar:1.7.1:test
|  |  |  \- commons-cli:commons-cli:jar:1.4:test
|  |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
|  |  +- jakarta.inject:jakarta.inject-api:jar:1.0:compile
|  |  +- org.apache.maven:maven-settings-builder:jar:3.5.4:test
|  |  |  +- org.codehaus.plexus:plexus-interpolation:jar:1.24:test
|  |  |  \- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4:test
|  |  |     \- org.sonatype.plexus:plexus-cipher:jar:1.4:test
|  |  +- org.apache.maven:maven-resolver-provider:jar:3.5.4:test
|  |  |  +- org.apache.maven:maven-repository-metadata:jar:3.5.4:test
|  |  |  +- org.apache.maven.resolver:maven-resolver-spi:jar:1.1.1:test
|  |  |  \- org.apache.maven.resolver:maven-resolver-impl:jar:1.1.1:test
|  |  +- org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.1.1:test
|  |  +- org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.1.1:test
|  |  |  \- org.apache.maven.wagon:wagon-provider-api:jar:3.0.0:test
|  |  +- org.apache.maven.wagon:wagon-http:jar:3.0.0:test
|  |  |  \- org.apache.maven.wagon:wagon-http-shared:jar:3.0.0:test
|  |  |     \- org.jsoup:jsoup:jar:1.7.2:test
|  |  +- org.apache.maven.wagon:wagon-file:jar:3.0.0:test
|  |  \- org.jboss.logging:commons-logging-jboss-logging:jar:1.0.0.Final:test
|  +- io.quarkus:quarkus-test-common:jar:1.0.0.CR1:test
|  |  +- io.quarkus:quarkus-core-deployment:jar:1.0.0.CR1:test
|  |  |  +- io.quarkus.gizmo:gizmo:jar:1.0.0.Alpha8:test
|  |  |  |  \- org.ow2.asm:asm-util:jar:7.1:test
|  |  |  |     +- org.ow2.asm:asm-tree:jar:7.1:test
|  |  |  |     \- org.ow2.asm:asm-analysis:jar:7.1:test
|  |  |  +- org.ow2.asm:asm:jar:7.1:test
|  |  |  \- io.quarkus:quarkus-builder:jar:1.0.0.CR1:test
|  |  +- io.quarkus:quarkus-jsonp-deployment:jar:1.0.0.CR1:test
|  |  |  \- io.quarkus:quarkus-jsonp:jar:1.0.0.CR1:test
|  |  |     \- org.glassfish:jakarta.json:jar:1.1.6:test
|  |  \- org.jboss:jandex:jar:2.1.1.Final:test
|  +- org.junit.jupiter:junit-jupiter:jar:5.5.2:test
|  |  +- org.junit.jupiter:junit-jupiter-api:jar:5.5.2:test
|  |  |  +- org.apiguardian:apiguardian-api:jar:1.1.0:test
|  |  |  +- org.opentest4j:opentest4j:jar:1.2.0:test
|  |  |  \- org.junit.platform:junit-platform-commons:jar:1.5.2:test
|  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.5.2:test
|  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.5.2:test
|  |     \- org.junit.platform:junit-platform-engine:jar:1.5.2:test
|  \- io.quarkus:quarkus-core:jar:1.0.0.CR1:compile
|     +- io.smallrye:smallrye-config:jar:1.3.9:compile
|     +- org.jboss.logmanager:jboss-logmanager-embedded:jar:1.0.3:compile
|     +- org.jboss.logging:jboss-logging-annotations:jar:2.1.0.Final:compile
|     +- org.jboss.threads:jboss-threads:jar:3.0.0.Final:compile
|     +- org.jboss.slf4j:slf4j-jboss-logging:jar:1.2.0.Final:compile
|     +- org.graalvm.sdk:graal-sdk:jar:19.2.1:compile
|     \- org.wildfly.common:wildfly-common:jar:1.5.0.Final-format-001:compile
\- io.rest-assured:rest-assured:jar:4.1.1:test
   +- org.codehaus.groovy:groovy:jar:2.5.6:test
   +- org.codehaus.groovy:groovy-xml:jar:2.5.6:test
   +- org.apache.httpcomponents:httpclient:jar:4.5.9:test
   |  +- org.apache.httpcomponents:httpcore:jar:4.4.11:test
   |  \- commons-codec:commons-codec:jar:1.13:test
   +- org.apache.httpcomponents:httpmime:jar:4.5.3:test
   +- org.hamcrest:hamcrest:jar:2.1:test
   +- org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1:test
   +- io.rest-assured:json-path:jar:4.1.1:test
   |  +- org.codehaus.groovy:groovy-json:jar:2.5.6:test
   |  \- io.rest-assured:rest-assured-common:jar:4.1.1:test
   \- io.rest-assured:xml-path:jar:4.1.1:test
      +- javax.xml.bind:jaxb-api:jar:2.3.1:test
      \- org.apache.sling:org.apache.sling.javax.activation:jar:0.1.0:test

Build dependencies:

org.apache.camel.quarkus:camel-quarkus-integration-test-bean-validator:jar:0.3.2-SNAPSHOT
├─ org.apache.camel.quarkus:camel-quarkus-bean-validator-deployment:jar:0.3.2-SNAPSHOT (compile)
│  ├─ io.quarkus:quarkus-hibernate-validator-deployment:jar:1.0.0.CR1 (compile)
│  │  ├─ io.quarkus:quarkus-core-deployment:jar:1.0.0.CR1 (compile)
│  │  │  ├─ org.wildfly.common:wildfly-common:jar:1.5.0.Final-format-001 (compile)
│  │  │  ├─ io.quarkus.gizmo:gizmo:jar:1.0.0.Alpha8 (compile)
│  │  │  │  └─ org.ow2.asm:asm-util:jar:7.1 (compile)
│  │  │  │     ├─ org.ow2.asm:asm-tree:jar:7.1 (compile)
│  │  │  │     └─ org.ow2.asm:asm-analysis:jar:7.1 (compile)
│  │  │  ├─ org.jboss:jandex:jar:2.1.1.Final (compile)
│  │  │  ├─ org.ow2.asm:asm:jar:7.1 (compile)
│  │  │  ├─ io.quarkus:quarkus-bootstrap-core:jar:1.0.0.CR1 (compile)
│  │  │  │  ├─ com.google.guava:guava:jar:27.0.1-jre (compile)
│  │  │  │  │  ├─ com.google.guava:failureaccess:jar:1.0.1 (compile)
│  │  │  │  │  ├─ com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava (compile)
│  │  │  │  │  ├─ com.google.code.findbugs:jsr305:jar:3.0.2 (compile)
│  │  │  │  │  ├─ org.checkerframework:checker-qual:jar:2.5.2 (compile)
│  │  │  │  │  ├─ com.google.errorprone:error_prone_annotations:jar:2.2.0 (compile)
│  │  │  │  │  ├─ com.google.j2objc:j2objc-annotations:jar:1.1 (compile)
│  │  │  │  │  └─ org.codehaus.mojo:animal-sniffer-annotations:jar:1.17 (compile)
│  │  │  │  ├─ org.apache.commons:commons-lang3:jar:3.9 (compile)
│  │  │  │  ├─ org.apache.maven:maven-embedder:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven:maven-settings:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven:maven-core:jar:3.5.4 (compile)
│  │  │  │  │  │  └─ org.apache.maven:maven-artifact:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven:maven-plugin-api:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven:maven-model:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven:maven-model-builder:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven:maven-builder-support:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven.resolver:maven-resolver-api:jar:1.1.1 (compile)
│  │  │  │  │  ├─ org.apache.maven.resolver:maven-resolver-util:jar:1.1.1 (compile)
│  │  │  │  │  ├─ org.apache.maven.shared:maven-shared-utils:jar:3.2.1 (compile)
│  │  │  │  │  │  └─ commons-io:commons-io:jar:2.6 (compile)
│  │  │  │  │  ├─ com.google.inject:guice:jar:no_aop:4.2.0 (compile)
│  │  │  │  │  │  └─ aopalliance:aopalliance:jar:1.0 (compile)
│  │  │  │  │  ├─ org.codehaus.plexus:plexus-utils:jar:3.0.24 (compile)
│  │  │  │  │  ├─ org.codehaus.plexus:plexus-classworlds:jar:2.5.2 (compile)
│  │  │  │  │  ├─ org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.3 (compile)
│  │  │  │  │  ├─ org.codehaus.plexus:plexus-component-annotations:jar:1.7.1 (compile)
│  │  │  │  │  └─ commons-cli:commons-cli:jar:1.4 (compile)
│  │  │  │  ├─ jakarta.inject:jakarta.inject-api:jar:1.0 (compile)
│  │  │  │  ├─ org.apache.maven:maven-settings-builder:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.codehaus.plexus:plexus-interpolation:jar:1.24 (compile)
│  │  │  │  │  └─ org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4 (compile)
│  │  │  │  │     └─ org.sonatype.plexus:plexus-cipher:jar:1.4 (compile)
│  │  │  │  ├─ org.apache.maven:maven-resolver-provider:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven:maven-repository-metadata:jar:3.5.4 (compile)
│  │  │  │  │  ├─ org.apache.maven.resolver:maven-resolver-spi:jar:1.1.1 (compile)
│  │  │  │  │  └─ org.apache.maven.resolver:maven-resolver-impl:jar:1.1.1 (compile)
│  │  │  │  ├─ org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.1.1 (compile)
│  │  │  │  ├─ org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.1.1 (compile)
│  │  │  │  │  └─ org.apache.maven.wagon:wagon-provider-api:jar:3.0.0 (compile)
│  │  │  │  ├─ org.apache.maven.wagon:wagon-http:jar:3.0.0 (compile)
│  │  │  │  │  ├─ org.apache.maven.wagon:wagon-http-shared:jar:3.0.0 (compile)
│  │  │  │  │  │  └─ org.jsoup:jsoup:jar:1.7.2 (compile)
│  │  │  │  │  ├─ org.apache.httpcomponents:httpclient:jar:4.5.9 (compile)
│  │  │  │  │  │  └─ commons-codec:commons-codec:jar:1.13 (compile)
│  │  │  │  │  └─ org.apache.httpcomponents:httpcore:jar:4.4.11 (compile)
│  │  │  │  ├─ org.apache.maven.wagon:wagon-file:jar:3.0.0 (compile)
│  │  │  │  └─ org.jboss.logging:commons-logging-jboss-logging:jar:1.0.0.Final (runtime)
│  │  │  ├─ io.quarkus:quarkus-core:jar:1.0.0.CR1 (compile)
│  │  │  │  ├─ io.smallrye:smallrye-config:jar:1.3.9 (compile)
│  │  │  │  ├─ org.jboss.logmanager:jboss-logmanager-embedded:jar:1.0.3 (compile)
│  │  │  │  ├─ org.jboss.logging:jboss-logging-annotations:jar:2.1.0.Final (compile)
│  │  │  │  ├─ org.jboss.threads:jboss-threads:jar:3.0.0.Final (compile)
│  │  │  │  └─ org.jboss.slf4j:slf4j-jboss-logging:jar:1.2.0.Final (compile)
│  │  │  ├─ io.quarkus:quarkus-builder:jar:1.0.0.CR1 (compile)
│  │  │  └─ org.graalvm.sdk:graal-sdk:jar:19.2.1 (compile)
│  │  ├─ io.quarkus:quarkus-resteasy-server-common-spi:jar:1.0.0.CR1 (compile)
│  │  └─ io.quarkus:quarkus-hibernate-validator:jar:1.0.0.CR1 (compile)
│  │     └─ org.hibernate.validator:hibernate-validator:jar:6.1.0.Final (compile)
│  │        └─ com.fasterxml:classmate:jar:1.3.4 (compile)
│  ├─ org.apache.camel.quarkus:camel-quarkus-core-deployment:jar:0.3.2-SNAPSHOT (compile)
│  │  ├─ io.quarkus:quarkus-caffeine-deployment:jar:1.0.0.CR1 (compile)
│  │  │  └─ io.quarkus:quarkus-caffeine:jar:1.0.0.CR1 (compile)
│  │  │     └─ com.github.ben-manes.caffeine:caffeine:jar:2.6.2 (compile)
│  │  ├─ org.apache.camel.quarkus:camel-quarkus-support-common-deployment:jar:0.3.2-SNAPSHOT (compile)
│  │  │  └─ org.apache.camel.quarkus:camel-quarkus-support-common:jar:0.3.2-SNAPSHOT (compile)
│  │  └─ org.apache.camel.quarkus:camel-quarkus-core:jar:0.3.2-SNAPSHOT (compile)
│  │     ├─ org.apache.camel:camel-main:jar:3.0.0-RC3 (compile)
│  │     ├─ org.apache.camel:camel-core-engine:jar:3.0.0-RC3 (compile)
│  │     │  ├─ org.apache.camel:spi-annotations:jar:3.0.0-RC3 (compile)
│  │     │  ├─ org.apache.camel:camel-api:jar:3.0.0-RC3 (compile)
│  │     │  ├─ org.apache.camel:camel-management-api:jar:3.0.0-RC3 (compile)
│  │     │  ├─ org.apache.camel:camel-util:jar:3.0.0-RC3 (compile)
│  │     │  └─ org.apache.camel:camel-util-json:jar:3.0.0-RC3 (compile)
│  │     ├─ org.apache.camel:camel-base:jar:3.0.0-RC3 (compile)
│  │     ├─ org.apache.camel:camel-caffeine-lrucache:jar:3.0.0-RC3 (compile)
│  │     └─ org.apache.camel:camel-microprofile-config:jar:3.0.0-RC3 (compile)
│  │        └─ org.eclipse.microprofile.config:microprofile-config-api:jar:1.3 (compile)
│  └─ org.apache.camel.quarkus:camel-quarkus-bean-validator:jar:0.3.2-SNAPSHOT (compile)
│     ├─ org.apache.camel:camel-bean-validator:jar:3.0.0-RC3 (compile)
│     │  ├─ org.apache.camel:camel-support:jar:3.0.0-RC3 (compile)
│     │  ├─ org.jboss.logging:jboss-logging:jar:3.3.2.Final (compile)
│     │  └─ org.slf4j:slf4j-api:jar:1.7.25 (compile)
│     └─ org.glassfish:jakarta.el:jar:3.0.3 (compile)
├─ org.apache.camel.quarkus:camel-quarkus-direct-deployment:jar:0.3.2-SNAPSHOT (compile)
│  └─ org.apache.camel.quarkus:camel-quarkus-direct:jar:0.3.2-SNAPSHOT (compile)
│     └─ org.apache.camel:camel-direct:jar:3.0.0-RC3 (compile)
└─ io.quarkus:quarkus-resteasy-deployment:jar:1.0.0.CR1 (compile)
   ├─ io.quarkus:quarkus-resteasy-server-common-deployment:jar:1.0.0.CR1 (compile)
   │  ├─ io.quarkus:quarkus-resteasy-common-deployment:jar:1.0.0.CR1 (compile)
   │  │  ├─ io.quarkus:quarkus-resteasy-common:jar:1.0.0.CR1 (compile)
   │  │  │  ├─ org.jboss.resteasy:resteasy-core:jar:4.4.0.Final (compile)
   │  │  │  │  ├─ org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:2.0.1.Final (compile)
   │  │  │  │  ├─ org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:2.0.0.Final (compile)
   │  │  │  │  ├─ org.jboss.resteasy:resteasy-core-spi:jar:4.4.0.Final (compile)
   │  │  │  │  └─ org.reactivestreams:reactive-streams:jar:1.0.3 (compile)
   │  │  │  └─ com.sun.activation:jakarta.activation:jar:1.2.1 (compile)
   │  │  └─ io.quarkus:quarkus-resteasy-common-spi:jar:1.0.0.CR1 (compile)
   │  └─ io.quarkus:quarkus-resteasy-server-common:jar:1.0.0.CR1 (compile)
   │     └─ jakarta.validation:jakarta.validation-api:jar:2.0.2 (compile)
   ├─ io.quarkus:quarkus-undertow-spi:jar:1.0.0.CR1 (compile)
   │  ├─ io.quarkus.http:quarkus-http-servlet:jar:3.0.0.Beta3 (compile)
   │  │  └─ io.quarkus.http:quarkus-http-core:jar:3.0.0.Beta3 (compile)
   │  │     ├─ io.quarkus.http:quarkus-http-http-core:jar:3.0.0.Beta3 (compile)
   │  │     │  └─ io.netty:netty-buffer:jar:4.1.42.Final (compile)
   │  │     └─ io.netty:netty-codec-http:jar:4.1.42.Final (compile)
   │  │        ├─ io.netty:netty-common:jar:4.1.42.Final (compile)
   │  │        ├─ io.netty:netty-transport:jar:4.1.42.Final (compile)
   │  │        ├─ io.netty:netty-codec:jar:4.1.42.Final (compile)
   │  │        └─ io.netty:netty-handler:jar:4.1.42.Final (compile)
   │  ├─ jakarta.servlet:jakarta.servlet-api:jar:4.0.3 (compile)
   │  └─ org.jboss.metadata:jboss-metadata-web:jar:11.0.0.Final (compile)
   │     └─ org.jboss.metadata:jboss-metadata-common:jar:11.0.0.Final (compile)
   ├─ io.quarkus:quarkus-vertx-http-deployment:jar:1.0.0.CR1 (compile)
   │  ├─ io.quarkus:quarkus-vertx-core-deployment:jar:1.0.0.CR1 (compile)
   │  │  ├─ io.quarkus:quarkus-netty-deployment:jar:1.0.0.CR1 (compile)
   │  │  │  └─ io.quarkus:quarkus-netty:jar:1.0.0.CR1 (compile)
   │  │  └─ io.quarkus:quarkus-vertx-core:jar:1.0.0.CR1 (compile)
   │  │     └─ io.vertx:vertx-core:jar:3.8.3 (compile)
   │  │        ├─ io.netty:netty-handler-proxy:jar:4.1.42.Final (compile)
   │  │        │  └─ io.netty:netty-codec-socks:jar:4.1.42.Final (compile)
   │  │        ├─ io.netty:netty-codec-http2:jar:4.1.42.Final (compile)
   │  │        ├─ io.netty:netty-resolver:jar:4.1.42.Final (compile)
   │  │        ├─ io.netty:netty-resolver-dns:jar:4.1.42.Final (compile)
   │  │        │  └─ io.netty:netty-codec-dns:jar:4.1.42.Final (compile)
   │  │        └─ com.fasterxml.jackson.core:jackson-core:jar:2.9.10 (compile)
   │  ├─ io.quarkus:quarkus-vertx-http:jar:1.0.0.CR1 (compile)
   │  │  ├─ io.quarkus.security:quarkus-security:jar:1.0.0.Beta1 (compile)
   │  │  ├─ jakarta.enterprise:jakarta.enterprise.cdi-api:jar:2.0.2 (compile)
   │  │  │  ├─ jakarta.el:jakarta.el-api:jar:3.0.3 (compile)
   │  │  │  └─ jakarta.interceptor:jakarta.interceptor-api:jar:1.2.5 (compile)
   │  │  │     └─ jakarta.ejb:jakarta.ejb-api:jar:3.2.6 (compile)
   │  │  │        └─ jakarta.transaction:jakarta.transaction-api:jar:1.3.3 (compile)
   │  │  └─ io.vertx:vertx-web:jar:3.8.3-01 (compile)
   │  │     ├─ io.vertx:vertx-web-common:jar:3.8.3-01 (compile)
   │  │     ├─ io.vertx:vertx-auth-common:jar:3.8.3 (compile)
   │  │     └─ io.vertx:vertx-bridge-common:jar:3.8.3 (compile)
   │  └─ io.quarkus:quarkus-kubernetes-spi:jar:1.0.0.CR1 (compile)
   ├─ io.quarkus:quarkus-arc-deployment:jar:1.0.0.CR1 (compile)
   │  ├─ io.quarkus:quarkus-arc:jar:1.0.0.CR1 (compile)
   │  │  ├─ io.quarkus.arc:arc:jar:1.0.0.CR1 (compile)
   │  │  └─ org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:jar:1.0.1 (compile)
   │  └─ io.quarkus.arc:arc-processor:jar:1.0.0.CR1 (compile)
   │     └─ jakarta.annotation:jakarta.annotation-api:jar:1.3.5 (compile)
   └─ io.quarkus:quarkus-resteasy:jar:1.0.0.CR1 (compile)

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

tough I do not know what is the reason that triggers the bug 😃

as I said above:

This could be hard, essentially there’s something among those other dependencies that makes the GraalVM compiler not 100% sure that this class is not definitely dead code.

the presence of that class affects possible code flows: the code analysis of the compiler is no longer sure of how exactly the Validator(s) are going to be initialized - bypassing the guidance that the Quarkus extension normally provides to avoid such issues.

It’s very similar to what was happening with #5343 - which was driving me nuts debugging the compiler and yet the solution was very simple, as it didn’t set a static field to the right value.