quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.58k stars 2.63k forks source link

3.9.0.CR2: NoClassDefFoundError: io/quarkus/security/spi/runtime/SecurityEvent #39479

Closed famod closed 6 months ago

famod commented 6 months ago

Describe the bug

While testing 3.9.0.CR2 (coming from 3.8.2), I'm getting the following exception in QuarkusTests of my common Maven module that has a rather slim Quarkus setup:

java.lang.RuntimeException: java.lang.NoClassDefFoundError: io/quarkus/security/spi/runtime/SecurityEvent
    at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:643)
    at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:727)
    at java.base/java.util.Optional.orElseGet(Optional.java:364)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
    at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
    at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
    at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.NoClassDefFoundError: io/quarkus/security/spi/runtime/SecurityEvent
    at io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig$SecurityEvents$SecurityEventType.<clinit>(OTelBuildConfig.java:106)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at java.base/java.lang.Class.getEnumConstantsShared(Class.java:3837)
    at java.base/java.lang.Class.getEnumConstants(Class.java:3812)
    at io.smallrye.config.ImplicitConverters$HyphenateEnumConverter.<init>(ImplicitConverters.java:214)
    at io.smallrye.config.ImplicitConverters.getConverter(ImplicitConverters.java:46)
    at io.smallrye.config.SmallRyeConfig.lambda$getConverterOrNull$1(SmallRyeConfig.java:668)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
    at io.smallrye.config.SmallRyeConfig.getConverterOrNull(SmallRyeConfig.java:668)
    at io.smallrye.config.SmallRyeConfig.requireConverter(SmallRyeConfig.java:648)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$11.apply(ConfigMappingContext.java:548)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$11.apply(ConfigMappingContext.java:543)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$1.accept(ConfigMappingContext.java:259)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$1.accept(ConfigMappingContext.java:256)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator.values(ConfigMappingContext.java:543)
    at io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig$SecurityEvents1196049742Impl.<init>(Unknown Source)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
    at io.smallrye.config.ConfigMappingLoader.configMappingObject(ConfigMappingLoader.java:66)
    at io.smallrye.config.ConfigMappingContext.constructGroup(ConfigMappingContext.java:81)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$6.apply(ConfigMappingContext.java:455)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$6.apply(ConfigMappingContext.java:449)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$1.accept(ConfigMappingContext.java:259)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator$1.accept(ConfigMappingContext.java:256)
    at io.smallrye.config.ConfigMappingContext$ObjectCreator.group(ConfigMappingContext.java:449)
    at io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig-1736721265Impl.<init>(Unknown Source)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
    at io.smallrye.config.ConfigMappingLoader.configMappingObject(ConfigMappingLoader.java:66)
    at io.smallrye.config.ConfigMappingContext.constructGroup(ConfigMappingContext.java:81)
    at io.smallrye.config.ConfigMappingContext.constructRoot(ConfigMappingContext.java:76)
    at io.smallrye.config.ConfigMappingContext$1.apply(ConfigMappingContext.java:70)
    at io.smallrye.config.ConfigMappingContext$1.apply(ConfigMappingContext.java:65)
    at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220)
    at io.smallrye.config.ConfigMappingContext.registerRoot(ConfigMappingContext.java:65)
    at io.smallrye.config.ConfigMappingContext.<init>(ConfigMappingContext.java:54)
    at io.smallrye.config.ConfigMappingProvider$1.get(ConfigMappingProvider.java:65)
    at io.smallrye.config.ConfigMappingProvider$1.get(ConfigMappingProvider.java:62)
    at io.smallrye.config.SecretKeys.doUnlocked(SecretKeys.java:28)
    at io.smallrye.config.ConfigMappingProvider.mapConfiguration(ConfigMappingProvider.java:62)
    at io.smallrye.config.SmallRyeConfig.<init>(SmallRyeConfig.java:84)
    at io.smallrye.config.SmallRyeConfigBuilder.build(SmallRyeConfigBuilder.java:714)
    at io.quarkus.deployment.configuration.BuildTimeConfigurationReader.initConfiguration(BuildTimeConfigurationReader.java:412)
    at io.quarkus.deployment.ExtensionLoader.loadStepsFrom(ExtensionLoader.java:137)
    at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:107)
    at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:330)
    at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:251)
    at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:60)
    at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:224)
    at io.quarkus.test.junit.QuarkusTestExtension.ensureStarted(QuarkusTestExtension.java:610)
    at io.quarkus.test.junit.QuarkusTestExtension.beforeAll(QuarkusTestExtension.java:660)
    ... 1 more
Caused by: java.lang.ClassNotFoundException: io.quarkus.security.spi.runtime.SecurityEvent
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:518)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:468)
    ... 52 more

Note: I did not touch/set quarkus.otel.security-events.enabled.

Expected behavior

No failure, works like with 3.8.2

Actual behavior

QuarkusTests fail due to a missing class

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

17.0.10

Quarkus version or git rev

No response

Build tool (ie. output of mvnw --version or gradlew --version)

Maven 3.9.6

Additional information

Dependency tree:

[INFO] --- dependency:3.6.1:tree (default-cli) @ register-common ---
[INFO] someproject:register-common:jar:9.9.9-dev1
[INFO] +- someproject:healthcore:jar:1.0.0.78:compile
[INFO] |  +- io.quarkus:quarkus-jackson:jar:3.9.0.CR2:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.16.1:compile
[INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.16.1:compile
[INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.16.1:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.16.1:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.16.1:compile
[INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.16.1:compile
[INFO] |  +- jakarta.ws.rs:jakarta.ws.rs-api:jar:3.1.0:compile
[INFO] |  +- org.apache.httpcomponents:httpcore:jar:4.4.16:compile
[INFO] |  +- jakarta.validation:jakarta.validation-api:jar:3.0.2:compile
[INFO] |  +- org.hibernate.orm:hibernate-core:jar:6.4.4.Final:compile
[INFO] |  |  +- com.fasterxml:classmate:jar:1.7.0:compile
[INFO] |  |  +- jakarta.inject:jakarta.inject-api:jar:2.0.1:compile
[INFO] |  |  \- org.antlr:antlr4-runtime:jar:4.13.0:runtime
[INFO] |  +- io.quarkus:quarkus-spring-boot-orm-api:jar:2.1.SP1:compile
[INFO] |  +- io.quarkus:quarkus-spring-data-commons-api:jar:2.1.SP2:compile
[INFO] |  +- io.quarkus:quarkus-spring-data-jpa-api:jar:2.1.SP2:compile
[INFO] |  +- com.blazebit:blaze-persistence-core-api-jakarta:jar:1.6.11:compile
[INFO] |  +- com.blazebit:blaze-persistence-entity-view-api-jakarta:jar:1.6.11:compile
[INFO] |  \- commons-io:commons-io:jar:2.15.1:compile
[INFO] +- io.quarkus:quarkus-config-yaml:jar:3.9.0.CR2:compile
[INFO] |  +- io.smallrye.config:smallrye-config-source-yaml:jar:3.6.1:compile
[INFO] |  |  +- io.smallrye.config:smallrye-config-common:jar:3.6.1:compile
[INFO] |  |  |  \- io.smallrye.common:smallrye-common-classloader:jar:2.3.0:compile
[INFO] |  |  \- io.smallrye.common:smallrye-common-constraint:jar:2.3.0:compile
[INFO] |  +- io.quarkus:quarkus-core:jar:3.9.0.CR2:compile
[INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:2.1.1:compile
[INFO] |  |  +- io.smallrye.common:smallrye-common-os:jar:2.3.0:compile
[INFO] |  |  +- io.quarkus:quarkus-ide-launcher:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.quarkus:quarkus-development-mode-spi:jar:3.9.0.CR2:compile
[INFO] |  |  +- org.jboss.logmanager:jboss-logmanager:jar:3.0.4.Final:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-cpu:jar:2.3.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-expression:jar:2.3.0:compile
[INFO] |  |  |  |  \- io.smallrye.common:smallrye-common-function:jar:2.3.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-net:jar:2.3.0:compile
[INFO] |  |  |  +- io.smallrye.common:smallrye-common-ref:jar:2.3.0:compile
[INFO] |  |  |  \- org.eclipse.parsson:parsson:jar:1.1.5:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging-annotations:jar:2.2.1.Final:compile
[INFO] |  |  +- org.jboss.threads:jboss-threads:jar:3.5.1.Final:compile
[INFO] |  |  +- org.slf4j:slf4j-api:jar:2.0.6:compile
[INFO] |  |  +- org.jboss.slf4j:slf4j-jboss-logmanager:jar:2.0.0.Final:compile
[INFO] |  |  +- org.wildfly.common:wildfly-common:jar:1.7.0.Final:compile
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-runner:jar:3.9.0.CR2:compile
[INFO] |  |  |  \- io.github.crac:org-crac:jar:0.1.3:compile
[INFO] |  |  \- io.quarkus:quarkus-fs-util:jar:0.0.10:compile
[INFO] |  \- org.eclipse.microprofile.config:microprofile-config-api:jar:3.0.3:compile
[INFO] +- io.quarkus:quarkus-hibernate-orm:jar:3.9.0.CR2:compile
[INFO] |  +- io.quarkus:quarkus-agroal:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.quarkus:quarkus-datasource:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.agroal:agroal-api:jar:2.3:compile
[INFO] |  |  +- io.agroal:agroal-narayana:jar:2.3:compile
[INFO] |  |  |  \- org.jboss:jboss-transaction-spi:jar:8.0.0.Final:compile
[INFO] |  |  +- io.agroal:agroal-pool:jar:2.3:compile
[INFO] |  |  \- io.quarkus:quarkus-credentials:jar:3.9.0.CR2:compile
[INFO] |  +- io.quarkus:quarkus-narayana-jta:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.quarkus:quarkus-transaction-annotations:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.quarkus:quarkus-datasource-common:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.smallrye:smallrye-context-propagation-jta:jar:2.1.0:compile
[INFO] |  |  +- io.smallrye.reactive:smallrye-reactive-converter-api:jar:3.0.1:compile
[INFO] |  |  |  \- org.reactivestreams:reactive-streams:jar:1.0.4:compile
[INFO] |  |  +- io.smallrye.reactive:smallrye-reactive-converter-mutiny:jar:3.0.1:compile
[INFO] |  |  +- io.smallrye.reactive:mutiny-zero-flow-adapters:jar:1.0.0:compile
[INFO] |  |  +- org.jboss.narayana.jta:narayana-jta:jar:7.0.1.Final:compile
[INFO] |  |  |  +- jakarta.resource:jakarta.resource-api:jar:2.1.0:compile
[INFO] |  |  |  +- org.jboss.invocation:jboss-invocation:jar:2.0.0.Final:compile
[INFO] |  |  |  \- org.eclipse.microprofile.reactive-streams-operators:microprofile-reactive-streams-operators-api:jar:3.0:compile
[INFO] |  |  \- org.jboss.narayana.jts:narayana-jts-integration:jar:7.0.1.Final:compile
[INFO] |  +- net.bytebuddy:byte-buddy:jar:1.14.11:compile
[INFO] |  +- org.hibernate.common:hibernate-commons-annotations:jar:6.0.6.Final:compile
[INFO] |  +- org.hibernate.orm:hibernate-graalvm:jar:6.4.4.Final:compile
[INFO] |  +- org.glassfish.jaxb:jaxb-runtime:jar:4.0.5:compile
[INFO] |  |  \- org.glassfish.jaxb:jaxb-core:jar:4.0.5:compile
[INFO] |  |     +- org.eclipse.angus:angus-activation:jar:2.0.2:runtime
[INFO] |  |     +- org.glassfish.jaxb:txw2:jar:4.0.5:compile
[INFO] |  |     \- com.sun.istack:istack-commons-runtime:jar:4.1.2:compile
[INFO] |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2:compile
[INFO] |  |  \- jakarta.activation:jakarta.activation-api:jar:2.1.3:compile
[INFO] |  +- jakarta.persistence:jakarta.persistence-api:jar:3.1.0:compile
[INFO] |  +- jakarta.transaction:jakarta.transaction-api:jar:2.0.1:compile
[INFO] |  +- org.hibernate:quarkus-local-cache:jar:0.3.0:compile
[INFO] |  \- io.quarkus:quarkus-caffeine:jar:3.9.0.CR2:compile
[INFO] |     \- com.github.ben-manes.caffeine:caffeine:jar:3.1.5:compile
[INFO] |        \- com.google.errorprone:error_prone_annotations:jar:2.25.0:compile
[INFO] +- io.quarkus:quarkus-hibernate-validator:jar:3.9.0.CR2:compile
[INFO] |  +- io.quarkus:quarkus-arc:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.quarkus.arc:arc:jar:3.9.0.CR2:compile
[INFO] |  |  \- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:jar:1.3:compile
[INFO] |  +- org.hibernate.validator:hibernate-validator:jar:8.0.1.Final:compile
[INFO] |  +- org.glassfish.expressly:expressly:jar:5.0.0:compile
[INFO] |  |  \- jakarta.el:jakarta.el-api:jar:5.0.1:compile
[INFO] |  \- io.smallrye.config:smallrye-config-validator:jar:3.6.1:compile
[INFO] +- io.quarkus:quarkus-jdbc-mariadb:jar:3.9.0.CR2:compile
[INFO] |  \- org.mariadb.jdbc:mariadb-java-client:jar:3.3.3:compile
[INFO] |     \- com.github.waffle:waffle-jna:jar:3.3.0:compile
[INFO] |        +- net.java.dev.jna:jna:jar:5.8.0:compile
[INFO] |        \- net.java.dev.jna:jna-platform:jar:5.8.0:compile
[INFO] +- io.quarkus:quarkus-scheduler-common:jar:3.9.0.CR2:compile
[INFO] |  +- io.quarkus:quarkus-scheduler-api:jar:3.9.0.CR2:compile
[INFO] |  +- io.quarkus:quarkus-scheduler-spi:jar:3.9.0.CR2:compile
[INFO] |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:jar:1.32.0:compile
[INFO] |  |  \- io.opentelemetry:opentelemetry-extension-incubator:jar:1.32.0-alpha:runtime
[INFO] |  \- com.cronutils:cron-utils:jar:9.2.1:compile
[INFO] +- io.quarkus:quarkus-opentelemetry:jar:3.9.0.CR2:compile
[INFO] |  +- io.quarkus:quarkus-vertx:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.quarkus:quarkus-netty:jar:3.9.0.CR2:compile
[INFO] |  |  |  +- io.netty:netty-codec:jar:4.1.107.Final:compile
[INFO] |  |  |  +- io.netty:netty-codec-http:jar:4.1.107.Final:compile
[INFO] |  |  |  +- io.netty:netty-codec-http2:jar:4.1.107.Final:compile
[INFO] |  |  |  +- io.netty:netty-handler:jar:4.1.107.Final:compile
[INFO] |  |  |  |  \- io.netty:netty-transport-native-unix-common:jar:4.1.107.Final:compile
[INFO] |  |  |  \- com.aayushatharva.brotli4j:brotli4j:jar:1.16.0:compile
[INFO] |  |  |     +- com.aayushatharva.brotli4j:service:jar:1.16.0:compile
[INFO] |  |  |     \- com.aayushatharva.brotli4j:native-linux-x86_64:jar:1.16.0:compile
[INFO] |  |  +- io.netty:netty-codec-haproxy:jar:4.1.107.Final:compile
[INFO] |  |  |  +- io.netty:netty-buffer:jar:4.1.107.Final:compile
[INFO] |  |  |  \- io.netty:netty-transport:jar:4.1.107.Final:compile
[INFO] |  |  +- io.smallrye.common:smallrye-common-annotation:jar:2.3.0:compile
[INFO] |  |  +- io.quarkus:quarkus-virtual-threads:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.quarkus:quarkus-vertx-latebound-mdc-provider:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.smallrye.reactive:smallrye-mutiny-vertx-core:jar:3.10.0:compile
[INFO] |  |  |  +- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:jar:3.10.0:compile
[INFO] |  |  |  \- io.smallrye.reactive:vertx-mutiny-generator:jar:3.10.0:compile
[INFO] |  |  |     \- io.vertx:vertx-codegen:jar:4.5.4:compile
[INFO] |  |  \- io.smallrye:smallrye-fault-tolerance-vertx:jar:6.2.6:compile
[INFO] |  +- io.quarkus:quarkus-grpc-common:jar:3.9.0.CR2:compile
[INFO] |  |  +- io.vertx:vertx-grpc:jar:4.5.4:compile
[INFO] |  |  |  +- io.grpc:grpc-netty:jar:1.62.2:compile
[INFO] |  |  |  |  \- io.grpc:grpc-util:jar:1.62.2:runtime
[INFO] |  |  |  +- io.grpc:grpc-protobuf:jar:1.62.2:compile
[INFO] |  |  |  |  +- com.google.protobuf:protobuf-java:jar:3.25.0:compile
[INFO] |  |  |  |  +- com.google.api.grpc:proto-google-common-protos:jar:2.36.0:compile
[INFO] |  |  |  |  \- io.grpc:grpc-protobuf-lite:jar:1.62.2:runtime
[INFO] |  |  |  \- com.google.guava:guava:jar:33.0.0-jre:compile
[INFO] |  |  |     +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  |  |     \- com.google.j2objc:j2objc-annotations:jar:2.8:compile
[INFO] |  |  +- io.vertx:vertx-grpc-server:jar:4.5.4:compile
[INFO] |  |  \- io.grpc:grpc-core:jar:1.62.2:compile
[INFO] |  |     +- com.google.code.gson:gson:jar:2.10.1:runtime
[INFO] |  |     +- io.perfmark:perfmark-api:jar:0.26.0:runtime
[INFO] |  |     \- io.grpc:grpc-context:jar:1.62.2:runtime
[INFO] |  +- io.smallrye.common:smallrye-common-vertx-context:jar:2.3.0:compile
[INFO] |  |  \- io.vertx:vertx-core:jar:4.5.4:compile
[INFO] |  |     +- io.netty:netty-common:jar:4.1.107.Final:compile
[INFO] |  |     +- io.netty:netty-handler-proxy:jar:4.1.107.Final:compile
[INFO] |  |     |  \- io.netty:netty-codec-socks:jar:4.1.107.Final:compile
[INFO] |  |     +- io.netty:netty-resolver:jar:4.1.107.Final:compile
[INFO] |  |     \- io.netty:netty-resolver-dns:jar:4.1.107.Final:compile
[INFO] |  |        \- io.netty:netty-codec-dns:jar:4.1.107.Final:compile
[INFO] |  +- io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:jar:1.32.0:compile
[INFO] |  +- io.opentelemetry:opentelemetry-sdk:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-common:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-trace:jar:1.32.0:compile
[INFO] |  |  +- io.opentelemetry:opentelemetry-sdk-metrics:jar:1.32.0:compile
[INFO] |  |  \- io.opentelemetry:opentelemetry-sdk-logs:jar:1.32.0:compile
[INFO] |  +- io.opentelemetry:opentelemetry-extension-annotations:jar:1.18.0:compile
[INFO] |  +- io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:jar:1.32.0:compile
[INFO] |  +- io.opentelemetry.semconv:opentelemetry-semconv:jar:1.21.0-alpha:compile
[INFO] |  +- io.opentelemetry:opentelemetry-api-events:jar:1.32.0-alpha:compile
[INFO] |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:jar:1.32.0:compile
[INFO] |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations-support:jar:1.32.0-alpha:compile
[INFO] |  +- io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-semconv:jar:1.32.0-alpha:compile
[INFO] |  +- io.opentelemetry:opentelemetry-exporter-otlp-common:jar:1.32.0:compile
[INFO] |  |  \- io.opentelemetry:opentelemetry-exporter-common:jar:1.32.0:compile
[INFO] |  +- io.opentelemetry:opentelemetry-exporter-otlp:jar:1.32.0:compile
[INFO] |  |  \- io.opentelemetry:opentelemetry-exporter-sender-okhttp:jar:1.32.0:runtime
[INFO] |  \- io.vertx:vertx-grpc-client:jar:4.5.4:compile
[INFO] |     +- io.vertx:vertx-grpc-common:jar:4.5.4:compile
[INFO] |     +- io.grpc:grpc-stub:jar:1.62.2:compile
[INFO] |     \- io.grpc:grpc-api:jar:1.62.2:compile
[INFO] +- io.opentelemetry.instrumentation:opentelemetry-jdbc:jar:1.32.0-alpha:compile
[INFO] |  \- io.opentelemetry:opentelemetry-api:jar:1.32.0:compile
[INFO] |     \- io.opentelemetry:opentelemetry-context:jar:1.32.0:compile
[INFO] +- io.smallrye:smallrye-health:jar:4.1.0:compile
[INFO] |  +- org.eclipse.microprofile.health:microprofile-health-api:jar:4.0.1:compile
[INFO] |  +- io.smallrye:smallrye-health-api:jar:4.1.0:compile
[INFO] |  |  \- io.smallrye.reactive:mutiny:jar:2.5.8:compile
[INFO] |  +- io.smallrye.config:smallrye-config:jar:3.6.1:compile
[INFO] |  |  \- io.smallrye.config:smallrye-config-core:jar:3.6.1:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.5.3.Final:compile
[INFO] |  +- jakarta.enterprise:jakarta.enterprise.cdi-api:jar:4.0.1:compile
[INFO] |  |  +- jakarta.enterprise:jakarta.enterprise.lang-model:jar:4.0.1:compile
[INFO] |  |  \- jakarta.interceptor:jakarta.interceptor-api:jar:2.1.0:compile
[INFO] |  +- jakarta.json:jakarta.json-api:jar:2.1.3:compile
[INFO] |  \- org.eclipse.parsson:jakarta.json:jar:1.1.5:compile
[INFO] +- org.eclipse.microprofile.rest.client:microprofile-rest-client-api:jar:3.0.1:compile
[INFO] +- jakarta.xml.ws:jakarta.xml.ws-api:jar:3.0.1:compile
[INFO] |  +- jakarta.xml.soap:jakarta.xml.soap-api:jar:2.0.1:compile
[INFO] |  \- jakarta.jws:jakarta.jws-api:jar:3.0.0:compile
[INFO] +- someproject:healthcore:test-jar:tests:1.0.0.78:test
[INFO] +- org.apache.commons:commons-lang3:jar:3.14.0:compile
[INFO] +- org.projectlombok:lombok:jar:1.18.30:provided
[INFO] +- org.mapstruct:mapstruct:jar:1.5.5.Final:provided
[INFO] +- com.github.spotbugs:spotbugs-annotations:jar:4.8.3:provided
[INFO] |  \- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] +- io.quarkus:quarkus-jacoco:jar:3.9.0.CR2:test
[INFO] |  +- org.jacoco:org.jacoco.core:jar:0.8.11:test
[INFO] |  |  +- org.ow2.asm:asm:jar:9.6:test
[INFO] |  |  \- org.ow2.asm:asm-tree:jar:9.6:test
[INFO] |  +- org.jacoco:org.jacoco.report:jar:0.8.11:test
[INFO] |  +- org.jacoco:org.jacoco.agent:jar:0.8.11:test
[INFO] |  +- org.jacoco:org.jacoco.agent:jar:runtime:0.8.11:test
[INFO] |  \- org.ow2.asm:asm-commons:jar:9.6:test
[INFO] +- io.quarkus:quarkus-junit4-mock:jar:3.9.0.CR2:test
[INFO] +- io.quarkus:quarkus-junit5:jar:3.9.0.CR2:test
[INFO] |  +- io.quarkus:quarkus-bootstrap-core:jar:3.9.0.CR2:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-app-model:jar:3.9.0.CR2:test
[INFO] |  |  \- io.smallrye.common:smallrye-common-io:jar:2.3.0:compile
[INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M2:test
[INFO] |  +- io.quarkus:quarkus-test-common:jar:3.9.0.CR2:test
[INFO] |  |  +- io.quarkus:quarkus-core-deployment:jar:3.9.0.CR2:test
[INFO] |  |  |  +- org.aesh:readline:jar:2.4:test
[INFO] |  |  |  |  \- org.fusesource.jansi:jansi:jar:2.4.0:test
[INFO] |  |  |  +- org.aesh:aesh:jar:2.7:test
[INFO] |  |  |  +- io.quarkus.gizmo:gizmo:jar:1.8.0:test
[INFO] |  |  |  |  \- org.ow2.asm:asm-util:jar:9.6:test
[INFO] |  |  |  |     \- org.ow2.asm:asm-analysis:jar:9.6:test
[INFO] |  |  |  +- io.quarkus:quarkus-class-change-agent:jar:3.9.0.CR2:test
[INFO] |  |  |  +- io.quarkus:quarkus-devtools-utilities:jar:3.9.0.CR2:test
[INFO] |  |  |  +- io.quarkus:quarkus-builder:jar:3.9.0.CR2:test
[INFO] |  |  |  +- org.graalvm.sdk:nativeimage:jar:23.1.2:test
[INFO] |  |  |  |  \- org.graalvm.sdk:word:jar:23.1.2:test
[INFO] |  |  |  \- org.junit.platform:junit-platform-launcher:jar:1.10.2:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-maven-resolver:jar:3.9.0.CR2:test
[INFO] |  |  |  +- io.smallrye.beanbag:smallrye-beanbag-maven:jar:1.4.0:test
[INFO] |  |  |  |  +- io.smallrye.beanbag:smallrye-beanbag-sisu:jar:1.4.0:test
[INFO] |  |  |  |  |  \- io.smallrye.beanbag:smallrye-beanbag:jar:1.4.0:test
[INFO] |  |  |  |  +- javax.inject:javax.inject:jar:1:test
[INFO] |  |  |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.14:test
[INFO] |  |  |  |  +- org.apache.maven:maven-artifact:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-builder-support:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-model:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-model-builder:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-repository-metadata:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-settings:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-api:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-impl:jar:1.9.18:test
[INFO] |  |  |  |  |  \- org.apache.maven.resolver:maven-resolver-named-locks:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-spi:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-util:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.resolver:maven-resolver-transport-http:jar:1.9.18:test
[INFO] |  |  |  |  +- org.apache.maven.wagon:wagon-provider-api:jar:3.5.3:test
[INFO] |  |  |  |  +- org.apache.maven.wagon:wagon-http-shared:jar:3.5.3:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-interpolation:jar:1.26:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-utils:jar:3.5.1:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-xml:jar:4.0.0:test
[INFO] |  |  |  |  |  \- org.apache.maven:maven-xml-impl:jar:4.0.0-alpha-5:test
[INFO] |  |  |  |  |     \- org.apache.maven:maven-api-xml:jar:4.0.0-alpha-5:test
[INFO] |  |  |  |  |        \- org.apache.maven:maven-api-meta:jar:4.0.0-alpha-5:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-cipher:jar:2.0:test
[INFO] |  |  |  |  \- org.codehaus.plexus:plexus-sec-dispatcher:jar:2.0:test
[INFO] |  |  |  +- org.apache.maven:maven-embedder:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven:maven-core:jar:3.9.6:test
[INFO] |  |  |  |  |  \- org.codehaus.plexus:plexus-component-annotations:jar:2.1.0:test
[INFO] |  |  |  |  +- org.apache.maven:maven-plugin-api:jar:3.9.6:test
[INFO] |  |  |  |  +- org.apache.maven.shared:maven-shared-utils:jar:3.3.4:test
[INFO] |  |  |  |  +- com.google.inject:guice:jar:5.1.0:test
[INFO] |  |  |  |  |  \- aopalliance:aopalliance:jar:1.0:test
[INFO] |  |  |  |  +- javax.annotation:javax.annotation-api:jar:1.3.2:test
[INFO] |  |  |  |  +- org.codehaus.plexus:plexus-classworlds:jar:2.6.0:test
[INFO] |  |  |  |  \- commons-cli:commons-cli:jar:1.5.0:test
[INFO] |  |  |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M2:test
[INFO] |  |  |  +- org.apache.maven:maven-settings-builder:jar:3.9.6:test
[INFO] |  |  |  +- org.apache.maven:maven-resolver-provider:jar:3.9.6:test
[INFO] |  |  |  +- org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.9.18:test
[INFO] |  |  |  +- org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.9.18:test
[INFO] |  |  |  +- org.apache.maven.wagon:wagon-http:jar:3.5.3:test
[INFO] |  |  |  \- org.apache.maven.wagon:wagon-file:jar:3.5.3:test
[INFO] |  |  +- io.quarkus:quarkus-bootstrap-gradle-resolver:jar:3.9.0.CR2:test
[INFO] |  |  +- io.smallrye:jandex:jar:3.1.6:test
[INFO] |  |  \- org.jboss.logging:commons-logging-jboss-logging:jar:1.0.0.Final:test
[INFO] |  +- io.quarkus:quarkus-junit5-properties:jar:3.9.0.CR2:test
[INFO] |  +- org.junit.jupiter:junit-jupiter:jar:5.10.2:test
[INFO] |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.10.2:test
[INFO] |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.10.2:test
[INFO] |  |     \- org.junit.platform:junit-platform-engine:jar:1.10.2:test
[INFO] |  \- com.thoughtworks.xstream:xstream:jar:1.4.20:test
[INFO] |     \- io.github.x-stream:mxparser:jar:1.2.2:test
[INFO] |        \- xmlpull:xmlpull:jar:1.1.3.1:test
[INFO] +- io.quarkus:quarkus-junit5-mockito:jar:3.9.0.CR2:test
[INFO] |  +- io.quarkus:quarkus-junit5-mockito-config:jar:3.9.0.CR2:test
[INFO] |  +- io.quarkus:quarkus-arc-deployment:jar:3.9.0.CR2:test
[INFO] |  |  +- io.quarkus:quarkus-smallrye-context-propagation-spi:jar:3.9.0.CR2:test
[INFO] |  |  +- io.quarkus:quarkus-vertx-http-dev-ui-spi:jar:3.9.0.CR2:test
[INFO] |  |  +- io.quarkus.arc:arc-processor:jar:3.9.0.CR2:test
[INFO] |  |  \- io.quarkus:quarkus-arc-test-supplement:jar:3.9.0.CR2:test
[INFO] |  +- org.mockito:mockito-subclass:jar:5.11.0:test
[INFO] |  \- io.quarkus:quarkus-mutiny:jar:3.9.0.CR2:compile
[INFO] |     +- io.quarkus:quarkus-smallrye-context-propagation:jar:3.9.0.CR2:compile
[INFO] |     |  \- io.smallrye:smallrye-context-propagation:jar:2.1.0:compile
[INFO] |     |     +- io.smallrye:smallrye-context-propagation-api:jar:2.1.0:compile
[INFO] |     |     \- io.smallrye:smallrye-context-propagation-storage:jar:2.1.0:compile
[INFO] |     \- io.smallrye.reactive:mutiny-smallrye-context-propagation:jar:2.5.8:compile
[INFO] +- org.assertj:assertj-core:jar:3.25.3:test
[INFO] +- org.awaitility:awaitility:jar:4.2.0:test
[INFO] |  \- org.hamcrest:hamcrest:jar:2.2:test
[INFO] +- com.tngtech.archunit:archunit-junit5:jar:1.2.1:test
[INFO] |  +- com.tngtech.archunit:archunit-junit5-api:jar:1.2.1:test
[INFO] |  |  \- com.tngtech.archunit:archunit:jar:1.2.1:test
[INFO] |  \- com.tngtech.archunit:archunit-junit5-engine:jar:1.2.1:test
[INFO] |     \- com.tngtech.archunit:archunit-junit5-engine-api:jar:1.2.1:test
[INFO] +- org.testcontainers:junit-jupiter:jar:1.19.7:test
[INFO] |  \- org.testcontainers:testcontainers:jar:1.19.7:test
[INFO] |     +- org.apache.commons:commons-compress:jar:1.26.1:test
[INFO] |     |  \- commons-codec:commons-codec:jar:1.16.1:test
[INFO] |     +- org.rnorth.duct-tape:duct-tape:jar:1.0.8:test
[INFO] |     |  \- org.jetbrains:annotations:jar:24.1.0:test
[INFO] |     +- com.github.docker-java:docker-java-api:jar:3.3.5:test
[INFO] |     \- com.github.docker-java:docker-java-transport-zerodep:jar:3.3.5:test
[INFO] |        \- com.github.docker-java:docker-java-transport:jar:3.3.5:test
[INFO] +- org.testcontainers:mariadb:jar:1.19.7:test
[INFO] |  \- org.testcontainers:jdbc:jar:1.19.7:test
[INFO] |     \- org.testcontainers:database-commons:jar:1.19.7:test
[INFO] +- org.apache.commons:commons-rng-simple:jar:1.5:test
[INFO] |  +- org.apache.commons:commons-rng-client-api:jar:1.5:test
[INFO] |  \- org.apache.commons:commons-rng-core:jar:1.5:test
[INFO] +- net.datafaker:datafaker:jar:2.1.0:test
[INFO] |  +- org.yaml:snakeyaml:jar:2.2:compile
[INFO] |  \- com.github.mifmif:generex:jar:1.0.2:test
[INFO] |     \- dk.brics.automaton:automaton:jar:1.11-8:test
[INFO] +- com.github.javaparser:javaparser-core:jar:3.25.8:test
[INFO] \- org.mockito:mockito-junit-jupiter:jar:5.11.0:test
[INFO]    +- org.mockito:mockito-core:jar:5.11.0:test
[INFO]    |  +- net.bytebuddy:byte-buddy-agent:jar:1.14.12:test
[INFO]    |  \- org.objenesis:objenesis:jar:3.3:test
[INFO]    \- org.junit.jupiter:junit-jupiter-api:jar:5.10.2:test
[INFO]       +- org.opentest4j:opentest4j:jar:1.3.0:test
[INFO]       +- org.junit.platform:junit-platform-commons:jar:1.10.2:test
[INFO]       \- org.apiguardian:apiguardian-api:jar:1.1.2:test

Workaround

Add io.quarkus:quarkus-security-runtime-spi explicitly.

quarkus-bot[bot] commented 6 months ago

/cc @sberyozkin (security)

famod commented 6 months ago

/cc @michalvavrik @brunobat

famod commented 6 months ago

Hum, turns out my much bigger core module (that depends on common) has the same issue.

brunobat commented 6 months ago

ok, will take a look.

michalvavrik commented 6 months ago

I thought Security SPI is transitive dependency there, but it was there just for a test. Let's add the SPI directly, which should do the trick. Sorry for trouble.

Note: I did not touch/set quarkus.otel.security-events.enabled.

that's not relevant for this

michalvavrik commented 6 months ago

I'm still surprised it compiles if it is not transitive dependency.

michalvavrik commented 6 months ago
[mvavrik@fedora opentelemetry]$ mvn dependency:tree | grep security
[INFO] |  |  +- io.quarkus:quarkus-security-runtime-spi:jar:999-SNAPSHOT:compile (optional) 
[INFO] |  +- io.quarkus.security:quarkus-security:jar:2.0.3.Final:compile (optional) 

yeah, sorry, anyway I'll leave it on @brunobat , thank you

famod commented 6 months ago

Yeah, seems to be coming from grpc, which is only an optional dependency of otel-runtime:

[INFO] +- io.quarkus:quarkus-grpc:jar:999-SNAPSHOT:compile (optional) 
[INFO] |  +- io.quarkus:quarkus-grpc-api:jar:999-SNAPSHOT:compile (optional) 
[INFO] |  +- io.quarkus:quarkus-vertx-http:jar:999-SNAPSHOT:compile (optional) 
[INFO] |  |  +- io.quarkus:quarkus-security-runtime-spi:jar:999-SNAPSHOT:compile (optional)

Nasty pitfall.

brunobat commented 6 months ago

I think the PR ^ fixes the issue.

famod commented 6 months ago

Thanks all for the quick turnaround!