Uploaded image for project: 'Quarkus'
  1. Quarkus
  2. QUARKUS-6576

Combining productized and community artifacts leads to classloading issues in JVM tests

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • quarkus-core, team/eng
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • ---

      Steps to reproduce:

      1. Connect to Red Hat VPN

      2. Build the code and run the failing test

      # checkout
      git clone git@github.com:jboss-fuse/camel-quarkus.git camel-quarkus-midstream
      cd camel-quarkus-midstream
      git checkout 3.26.0-product
      git reset --hard ca82b633e3aab98008a717bd959a82c1e4cfdfb3
      # build the tree
      ./mvnw clean install -Dquickly -s product/settings.xml
      
      # run the failing test
      ./mvnw clean test -s product/settings.xml -f integration-tests/hashicorp-vault/pom.xml
      

      Expected: the test should pass

      Actual:

      [INFO] Running org.apache.camel.quarkus.component.hashicorp.vault.it.HashicorpVaultTest
      ...
      2025-09-17 05:53:32,927 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] (main) Apache Camel Quarkus 3.26.0.rhbac-SNAPSHOT is starting
      2025-09-17 05:53:32,928 INFO  [org.apa.cam.mai.MainSupport] (main) Apache Camel (Main) 4.14.0.redhat-00004 is starting
      2025-09-17 05:53:32,985 INFO  [org.apa.cam.mai.BaseMainSupport] (main) Auto-configuration summary
      2025-09-17 05:53:32,985 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     [MicroProfilePropertiesSource] camel.vault.hashicorp.port = 32844
      2025-09-17 05:53:32,985 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     [MicroProfilePropertiesSource] camel.vault.hashicorp.token = xxxxxx
      2025-09-17 05:53:32,985 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     [MicroProfilePropertiesSource] camel.vault.hashicorp.host = localhost
      2025-09-17 05:53:32,985 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     [MicroProfilePropertiesSource] camel.vault.hashicorp.scheme = https
      2025-09-17 05:53:32,985 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     [MicroProfilePropertiesSource] camel.component.hashicorp-vault.autowiredEnabled = false
      2025-09-17 05:53:33,082 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Apache Camel 4.14.0.redhat-00004 (camel-1) is shutting down (timeout:45s)
      2025-09-17 05:53:33,085 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Routes stopped (total:0)
      2025-09-17 05:53:33,088 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) Apache Camel 4.14.0.redhat-00004 (camel-1) shutdown in 5ms (uptime:0ms)
      [ERROR] Tests run: 3, Failures: 0, Errors: 1, Skipped: 2, Time elapsed: 11.75 s <<< FAILURE! -- in org.apache.camel.quarkus.component.hashicorp.vault.it.HashicorpVaultTest
      [ERROR] org.apache.camel.quarkus.component.hashicorp.vault.it.HashicorpVaultTest.secretCRUD -- Time elapsed: 0.006 s <<< ERROR!
      java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
      	at io.quarkus.test.junit.QuarkusTestExtension.throwBootFailureException(QuarkusTestExtension.java:668)
      	at io.quarkus.test.junit.QuarkusTestExtension.interceptTestClassConstructor(QuarkusTestExtension.java:763)
      	at java.base/java.util.Optional.orElseGet(Optional.java:364)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
      Caused by: java.lang.RuntimeException: Failed to start quarkus
      	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
      	at io.quarkus.runtime.Application.start(Application.java:101)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
      	at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:350)
      	at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:233)
      	at io.quarkus.test.junit.QuarkusTestExtension.ensureStarted(QuarkusTestExtension.java:642)
      	at io.quarkus.test.junit.QuarkusTestExtension.beforeAll(QuarkusTestExtension.java:687)
      	... 1 more
      Caused by: java.lang.LinkageError: loader constraint violation: loader 'app' wants to load interface org.apache.commons.logging.Log. A different interface with the same name was previously loaded by io.quarkus.bootstrap.classloading.QuarkusClassLoader @73f6e07. (org.apache.commons.logging.Log is in unnamed module of loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @73f6e07, parent loader 'app')
      	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
      	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
      	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
      	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
      	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
      	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
      	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
      	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
      	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
      	at org.springframework.http.HttpLogging.forLog(HttpLogging.java:68)
      	at org.springframework.http.HttpLogging.forLogName(HttpLogging.java:57)
      	at org.springframework.http.converter.AbstractHttpMessageConverter.<init>(AbstractHttpMessageConverter.java:53)
      	at org.springframework.http.converter.ByteArrayHttpMessageConverter.<init>(ByteArrayHttpMessageConverter.java:44)
      	at org.springframework.vault.client.VaultClients.createRestTemplate(VaultClients.java:111)
      	at org.springframework.vault.client.VaultClients.createRestTemplate(VaultClients.java:88)
      	at org.springframework.vault.client.RestTemplateBuilder.createTemplate(RestTemplateBuilder.java:227)
      	at org.springframework.vault.client.RestTemplateBuilder.build(RestTemplateBuilder.java:204)
      	at org.springframework.vault.core.VaultTemplate.doCreateRestTemplate(VaultTemplate.java:224)
      	at org.springframework.vault.core.VaultTemplate.<init>(VaultTemplate.java:95)
      	at org.apache.camel.component.hashicorp.vault.HashicorpVaultEndpoint.createVaultTemplate(HashicorpVaultEndpoint.java:73)
      	at org.apache.camel.component.hashicorp.vault.HashicorpVaultEndpoint.doInit(HashicorpVaultEndpoint.java:60)
      	at org.apache.camel.support.service.BaseService.init(BaseService.java:85)
      	at org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:85)
      	at org.apache.camel.impl.engine.InternalServiceManager.doAddService(InternalServiceManager.java:118)
      	at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1503)
      	at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1498)
      	at org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1493)
      	at org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:846)
      	at org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:749)
      	at org.apache.camel.support.CamelContextHelper.resolveEndpoint(CamelContextHelper.java:128)
      	at org.apache.camel.reifier.SendReifier.resolveEndpoint(SendReifier.java:48)
      	at org.apache.camel.reifier.SendReifier.createProcessor(SendReifier.java:37)
      	at org.apache.camel.reifier.ProcessorReifier.makeProcessor(ProcessorReifier.java:843)
      	at org.apache.camel.reifier.ProcessorReifier.addRoutes(ProcessorReifier.java:616)
      	at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:238)
      	at org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:88)
      	at org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49)
      	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:765)
      	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:626)
      	at org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2580)
      	at org.apache.camel.quarkus.core.FastCamelContext.doInit(FastCamelContext.java:195)
      	at org.apache.camel.support.service.BaseService.init(BaseService.java:85)
      	at org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2207)
      	at org.apache.camel.support.service.BaseService.start(BaseService.java:115)
      	at org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2226)
      	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
      	at org.apache.camel.quarkus.main.CamelMain.doStart(CamelMain.java:68)
      	at org.apache.camel.support.service.BaseService.start(BaseService.java:123)
      	at org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:110)
      	at org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
      	at org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:53)
      	at io.quarkus.runner.recorded.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown Source)
      	at io.quarkus.runner.recorded.CamelBootstrapProcessor$boot173480958.deploy(Unknown Source)
      	... 8 more
      
      [INFO] 
      [INFO] Results:
      [INFO] 
      [ERROR] Errors: 
      [ERROR]   HashicorpVaultTest.secretCRUD ยป Runtime java.lang.RuntimeException: Failed to start quarkus
      

      Observations:

              rh-ee-hcummins Holly Cummins
              ppalaga Peter Palaga
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: