Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-12187

Run: Jersey writes a lot of exception messages due to missing javax-activation classes

XMLWordPrintable

    • Icon: Bug Report Bug Report
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.14.0, 7.14.0-alpha2
    • None
    • run
    • None

      When executing the current snapshot of Run with java 11, users get a lot of logged exception messages. This currently makes our Travis build for the Docker container fail.

      Impact:

      • The Travis build for the docker container failes because the output exceeds the limit that Travis allows
      • It is very annoying for users
      • It seems that Run's functionality is not affected, at least the integration tests still succeed (while locally logging the same exception for me)

      Root cause:

      • Currently, javax-activation-api and the jaxb-api are not included in the Run distro. However, this is required when using Run with Java versions > 8
      • In 7.13, the camunda-bpm-run-core jar contained this artifact

      Proposed solution:

      • Add a direct dependency to jaxb-api (and javax-activation-api comes in transitively)

      Related:

      • This problem occurred with the update to Spring Boot 2.3.1
      • It seems that previously we somewhat accidentally picked up the javax-activation-api JAR as a dependency via the spring-boot-jersey starter. The starter had a dependency to jaxb, which in turn had a dependency to javax-activation
      • With Spring Boot 2.3, the Spring Boot project switched from Maven to Gradle and it seems that the JAXB dependency is no longer there
      • When building Run with Java 8, JAXB is missing. When building with Java 11, it is there (see the comments for the reason).

      Log output:

      WARNING: HK2 service reification failed for [org.glassfish.jersey.jaxb.internal.XmlRootObjectJaxbProvider$General] with an exception:
      
      MultiException stack 1 of 2
      
      java.lang.NoClassDefFoundError: javax/xml/bind/PropertyException
      
      	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
      
      	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137)
      
      	at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357)
      
      	at org.jvnet.hk2.internal.Utilities$3.run(Utilities.java:1354)
      
      	at org.jvnet.hk2.internal.Utilities$3.run(Utilities.java:1350)
      
      	at java.base/java.security.AccessController.doPrivileged(Native Method)
      
      	at org.jvnet.hk2.internal.Utilities.getAllConstructors(Utilities.java:1350)
      
      	at org.jvnet.hk2.internal.Utilities.findProducerConstructor(Utilities.java:1293)
      
      	at org.jvnet.hk2.internal.DefaultClassAnalyzer.getConstructor(DefaultClassAnalyzer.java:60)
      
      	at org.glassfish.jersey.inject.hk2.JerseyClassAnalyzer.getConstructor(JerseyClassAnalyzer.java:124)
      
      	at org.jvnet.hk2.internal.Utilities.getConstructor(Utilities.java:156)
      
      	at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:105)
      
      	at org.jvnet.hk2.internal.ClazzCreator.initialize(ClazzCreator.java:156)
      
      	at org.jvnet.hk2.internal.SystemDescriptor.internalReify(SystemDescriptor.java:716)
      
      	at org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:670)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:442)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2300)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.access$1200(ServiceLocatorImpl.java:106)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1385)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1380)
      
      	at org.glassfish.hk2.utilities.cache.internal.WeakCARCacheImpl.compute(WeakCARCacheImpl.java:105)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetAllServiceHandles(ServiceLocatorImpl.java:1442)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.java:1368)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.java:1356)
      
      	at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllServiceHolders(AbstractHk2InjectionManager.java:134)
      
      	at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllServiceHolders(ImmediateHk2InjectionManager.java:30)
      
      	at org.glassfish.jersey.internal.inject.Providers.getServiceHolders(Providers.java:307)
      
      	at org.glassfish.jersey.internal.inject.Providers.getCustomProviders(Providers.java:151)
      
      	at org.glassfish.jersey.message.internal.MessageBodyFactory.initialize(MessageBodyFactory.java:219)
      
      	at org.glassfish.jersey.message.internal.MessageBodyFactory$MessageBodyWorkersConfigurator.postInit(MessageBodyFactory.java:114)
      
      	at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$2(ApplicationHandler.java:349)
      
      	at java.base/java.util.Arrays$ArrayList.forEach(Arrays.java:4390)
      
      	at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:349)
      
      	at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:293)
      
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
      
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
      
      	at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:232)
      
      	at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:292)
      
      	at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:259)
      
      	at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
      
      	at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
      
      	at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347)
      
      	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
      
      	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1134)
      
      	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1089)
      
      	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
      
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
      
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
      
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
      
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
      
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
      
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
      
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
      
      	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
      
      	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
      
      	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
      
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
      
      	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
      
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      
      	at java.base/java.lang.Thread.run(Thread.java:834)
      
      Caused by: java.lang.ClassNotFoundException: javax.xml.bind.PropertyException
      
      	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
      
      	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
      
      	at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
      
      	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
      
      	... 62 more
      
      MultiException stack 2 of 2
      
      java.lang.IllegalArgumentException: Errors were discovered while reifying SystemDescriptor(
      
      	implementation=org.glassfish.jersey.jaxb.internal.XmlRootObjectJaxbProvider$General
      
      	contracts={javax.ws.rs.ext.MessageBodyReader}
      
      	scope=javax.inject.Singleton
      
      	qualifiers={}
      
      	descriptorType=CLASS
      
      	descriptorVisibility=NORMAL
      
      	metadata=
      
      	rank=0
      
      	loader=null
      
      	proxiable=null
      
      	proxyForSameScope=null
      
      	analysisName=null
      
      	id=141
      
      	locatorId=0
      
      	identityHashCode=779572227
      
      	reified=false)
      
      	at org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.java:681)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.java:442)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2300)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.access$1200(ServiceLocatorImpl.java:106)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1385)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl$10.compute(ServiceLocatorImpl.java:1380)
      
      	at org.glassfish.hk2.utilities.cache.internal.WeakCARCacheImpl.compute(WeakCARCacheImpl.java:105)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetAllServiceHandles(ServiceLocatorImpl.java:1442)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.java:1368)
      
      	at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.java:1356)
      
      	at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllServiceHolders(AbstractHk2InjectionManager.java:134)
      
      	at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllServiceHolders(ImmediateHk2InjectionManager.java:30)
      
      	at org.glassfish.jersey.internal.inject.Providers.getServiceHolders(Providers.java:307)
      
      	at org.glassfish.jersey.internal.inject.Providers.getCustomProviders(Providers.java:151)
      
      	at org.glassfish.jersey.message.internal.MessageBodyFactory.initialize(MessageBodyFactory.java:219)
      
      	at org.glassfish.jersey.message.internal.MessageBodyFactory$MessageBodyWorkersConfigurator.postInit(MessageBodyFactory.java:114)
      
      	at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$2(ApplicationHandler.java:349)
      
      	at java.base/java.util.Arrays$ArrayList.forEach(Arrays.java:4390)
      
      	at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:349)
      
      	at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:293)
      
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
      
      	at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
      
      	at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:232)
      
      	at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:292)
      
      	at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:259)
      
      	at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
      
      	at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
      
      	at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347)
      
      	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
      
      	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1134)
      
      	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1089)
      
      	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
      
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
      
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
      
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
      
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
      
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
      
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
      
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
      
      	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
      
      	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
      
      	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
      
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
      
      	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
      
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      
      	at java.base/java.lang.Thread.run(Thread.java:834)
      

        This is the controller panel for Smart Panels app

              thorben.lindhauer Thorben Lindhauer
              thorben.lindhauer Thorben Lindhauer
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: