Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-8294

[7.10] Broken image fails to start when OpenSSL provide is specified

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • AMQ 7.10.2.OPR.2.GA, AMQ 7.10.3.OPR.2.GA
    • container image
    • None
    • False
    • None
    • False
    • +
    • Hide

      Deploy a broker with an ssl acceptor with the sslProvider as OPENSSL

      ie:

      ---
      apiVersion: "broker.amq.io/v1beta1"
      kind: "ActiveMQArtemis"
      metadata:
        creationTimestamp: "2023-04-04T13:44:32Z"
        generation: 2
        managedFields:
        - apiVersion: "broker.amq.io/v1beta1"
          fieldsType: "FieldsV1"
          fieldsV1:
            f:spec:
              ".": {}
              f:acceptors: {}
              f:console:
                ".": {}
                f:expose: {}
              f:deploymentPlan:
                ".": {}
                f:messageMigration: {}
                f:persistenceEnabled: {}
                f:size: {}
              f:upgrades:
                ".": {}
                f:enabled: {}
                f:minor: {}
          manager: "fabric8-kubernetes-client"
          operation: "Update"
          time: "2023-04-04T13:45:36Z"
        - apiVersion: "broker.amq.io/v1beta1"
          fieldsType: "FieldsV1"
          fieldsV1:
            f:status:
              f:podStatus:
                f:starting: {}
          manager: "amq-broker-operator"
          operation: "Update"
          subresource: "status"
          time: "2023-04-04T13:45:46Z"
        name: "tls-provider-broker"
        namespace: "tls-provider-tests-277746"
        resourceVersion: "4974014"
        uid: "141a3b1c-8d4c-49cf-b7a0-571f8ec44b5e"
      spec:
        acceptors:
        - expose: true
          name: "my-amqp"
          needClientAuth: true
          port: 5672
          protocols: "amqp"
          sslEnabled: true
          sslProvider: "OPENSSL"
          sslSecret: "broker-tls-secret"
        console:
          expose: false
        deploymentPlan:
          messageMigration: true
          persistenceEnabled: true
          size: 1
        upgrades:
          enabled: false
          minor: false
      status:
        podStatus:
          starting:
          - "tls-provider-broker-ss-0"
      
      Show
      Deploy a broker with an ssl acceptor with the sslProvider as OPENSSL ie: --- apiVersion: "broker.amq.io/v1beta1" kind: "ActiveMQArtemis" metadata:   creationTimestamp: "2023-04-04T13:44:32Z"   generation: 2   managedFields:   - apiVersion: "broker.amq.io/v1beta1"     fieldsType: "FieldsV1"     fieldsV1:       f:spec:         ".": {}         f:acceptors: {}         f:console:           ".": {}           f:expose: {}         f:deploymentPlan:           ".": {}           f:messageMigration: {}           f:persistenceEnabled: {}           f:size: {}         f:upgrades:           ".": {}           f:enabled: {}           f:minor: {}     manager: "fabric8-kubernetes-client"     operation: "Update"     time: "2023-04-04T13:45:36Z"   - apiVersion: "broker.amq.io/v1beta1"     fieldsType: "FieldsV1"     fieldsV1:       f:status:         f:podStatus:           f:starting: {}     manager: "amq-broker-operator"     operation: "Update"     subresource: "status"     time: "2023-04-04T13:45:46Z"   name: "tls-provider-broker"   namespace: "tls-provider-tests-277746"   resourceVersion: "4974014"   uid: "141a3b1c-8d4c-49cf-b7a0-571f8ec44b5e" spec:   acceptors:   - expose: true     name: "my-amqp"     needClientAuth: true     port: 5672     protocols: "amqp"     sslEnabled: true     sslProvider: "OPENSSL"     sslSecret: "broker-tls-secret"   console:     expose: false   deploymentPlan:     messageMigration: true     persistenceEnabled: true     size: 1   upgrades:     enabled: false     minor: false status:   podStatus:     starting:     - "tls-provider-broker-ss-0"

    Description

      For more information, see original issue from which this issue is cloned. This is still failing on 7.10.x.

      When use the openssl provider in the broker acceptor, the broker image fails to start with the error below:

       

      Removing provided -XX:+UseParallelOldGC in favour of artemis.profile provided option
      Platform is x86_64
      Running server env: home: /home/jboss AMQ_HOME /opt/amq CONFIG_BROKER false RUN_BROKER 
      NO RUN_BROKER defined
      Using custom configuration. Copy from /amq/init/config to /home/jboss/amq-broker
      bin
      etc
      lib
      log
      tmp
      Running Broker in /home/jboss/amq-broker
      Apr 04, 2023 1:45:45 PM java.lang.System$LoggerFinder lambda$accessProvider$0
      WARNING: Failed to instantiate LoggerFinder provider; Using default.
                 __  __  ____    ____            _
           /\   |  \/  |/ __ \  |  _ \          | |
          /  \  | \  / | |  | | | |_) |_ __ ___ | | _____ _ __
         / /\ \ | |\/| | |  | | |  _ <| '__/ _ \| |/ / _ \ '__|
        / ____ \| |  | | |__| | | |_) | | | (_) |   <  __/ |
       /_/    \_\_|  |_|\___\_\ |____/|_|  \___/|_|\_\___|_|
       
       Red Hat AMQ 7.10.2.GA
       
       
      2023-04-04 13:45:45,946 INFO  [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server
      2023-04-04 13:45:45,973 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221000: live Message 
      Broker is starting with configuration Broker Configuration 
      (clustered=true,journalDirectory=/opt/tls-provider-broker/data/journal,bindingsDirectory=/opt/tls-provider-broker/data/bindings,largeMessagesDirectory=/opt/tls-provider-broker/data/large-messages,pagingDirectory=/opt/tls-provider-broker/data/paging)
      2023-04-04 13:45:46,005 INFO  [org.apache.activemq.artemis.core.server] AMQ221013: Using NIO Journal
      2023-04-04 13:45:46,045 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is
       being adjusted to 1/2 of the JVM max size (-Xmx). being defined as 
      1,966,080,000
      2023-04-04 13:45:46,281 INFO 
       [org.jgroups.JChannel] local_addr: 
      abba2bee-8883-4129-8444-271bf7a00f8d, name: 
      tls-provider-broker-ss-0-35277
      2023-04-04 13:45:46,297 INFO  [org.jgroups.protocols.FD_SOCK2] server listening on *.7900
       
      -------------------------------------------------------------------
      GMS: address=tls-provider-broker-ss-0-35277, cluster=activemq_broadcast_channel, physical address=10.129.2.126:7800
      -------------------------------------------------------------------
      2023-04-04 13:45:48,338 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module 
      found: [artemis-server]. Adding protocol support for: CORE
      2023-04-04 13:45:48,339 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module 
      found: [artemis-amqp-protocol]. Adding protocol support for: AMQP
      2023-04-04 13:45:48,339 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module 
      found: [artemis-hornetq-protocol]. Adding protocol support for: HORNETQ
      2023-04-04 13:45:48,340 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module 
      found: [artemis-mqtt-protocol]. Adding protocol support for: MQTT
      2023-04-04 13:45:48,340 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module 
      found: [artemis-openwire-protocol]. Adding protocol support for: 
      OPENWIRE
      2023-04-04 13:45:48,341 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module 
      found: [artemis-stomp-protocol]. Adding protocol support for: STOMP
      2023-04-04 13:45:48,375 INFO  [org.apache.activemq.artemis.core.server] AMQ221034: Waiting indefinitely to obtain live lock
      2023-04-04 13:45:48,375 INFO  [org.apache.activemq.artemis.core.server] AMQ221035: Live Server Obtained live lock
      2023-04-04 13:45:48,612 INFO  [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address DLQ supporting [ANYCAST]
      2023-04-04 13:45:48,613 INFO  [org.apache.activemq.artemis.core.server] AMQ221003: Deploying ANYCAST queue DLQ on address DLQ
      2023-04-04 13:45:48,620 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address 
      ExpiryQueue supporting [ANYCAST]
      2023-04-04 13:45:48,620 INFO 
       [org.apache.activemq.artemis.core.server] AMQ221003: Deploying ANYCAST 
      queue ExpiryQueue on address ExpiryQueue
      2023-04-04 13:45:48,684 ERROR 
      [org.apache.activemq.artemis.core.server] AMQ224097: Failed to start 
      server: java.lang.NoClassDefFoundError: 
      io/netty/internal/tcnative/SSLPrivateKeyMethod
              at 
      io.netty.handler.ssl.SslContext.newServerContextInternal(SslContext.java:473)
       [netty-handler-4.1.77.Final-redhat-00003.jar:4.1.77.Final-redhat-00003]
              at 
      io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:606)
       [netty-handler-4.1.77.Final-redhat-00003.jar:4.1.77.Final-redhat-00003]
              at 
      org.apache.activemq.artemis.core.remoting.impl.ssl.SSLSupport.createNettyContext(SSLSupport.java:213)
       [artemis-core-client-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.remoting.impl.ssl.DefaultOpenSSLContextFactory.getServerSslContext(DefaultOpenSSLContextFactory.java:55)
       [artemis-core-client-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor.loadSSLContext(NettyAcceptor.java:389)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor.<init>(NettyAcceptor.java:342)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptorFactory.createAcceptor(NettyAcceptorFactory.java:43)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.createAcceptor(RemotingServiceImpl.java:271)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.start(RemotingServiceImpl.java:214)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3372)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:76)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:671)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:579)
       [artemis-server-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64)
       [artemis-cli-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:127) 
      [artemis-cli-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:160)
       [artemis-cli-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:108) 
      [artemis-cli-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at 
      org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:135) 
      [artemis-cli-2.21.0.redhat-00041.jar:2.21.0.redhat-00041]
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java.base:]
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) [java.base:]
              at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java.base:]
              at java.base/java.lang.reflect.Method.invoke(Method.java:568) [java.base:]
              at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134) [artemis-boot.jar:2.21.0.redhat-00041]
              at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50) [artemis-boot.jar:2.21.0.redhat-00041]
      Caused by: java.lang.ClassNotFoundException: io.netty.internal.tcnative.SSLPrivateKeyMethod
              at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) [java.base:]
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:587) [java.base:]
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) [java.base:]
              ... 24 more
       
      2023-04-04 13:45:48,851 INFO 
       [org.apache.amq.hawtio.branding.PluginContextListener] Initialized 
      amq-broker-redhat-branding plugin
      2023-04-04 13:45:48,881 INFO  [org.apache.activemq.hawtio.plugin.PluginContextListener] Initialized artemis-plugin plugin
      SLF4J: Class path contains multiple SLF4J bindings.
      SLF4J: Found binding in 
      [jar:file:/home/jboss/amq-broker/tmp/webapps/jetty-tls-provider-broker-ss-0_tls-provider-broker-hdls-svc_tls-provider-tests-277746_svc_cluster_local-8161-hawtio_war-_console-@Connector-0-14830770605448458434/webapp/WEB-INF/lib/log4j-slf4j-impl-2.17.1.redhat-00002.jar!/org/slf4j/impl/StaticLoggerBinder.class]
      SLF4J: Found binding in 
      [jar:file:/opt/amq/lib/slf4j-jboss-logmanager-1.0.4.GA-redhat-00001.jar!/org/slf4j/impl/StaticLoggerBinder.class]
      SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
      SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
      13:45:49 INFO {main} : Initialising hawtio services
      13:45:49 INFO {main} : Configuration will be discovered via system properties
      13:45:49 INFO {main} : Welcome to hawtio 2.0.0.fuse-sb2-7_11_0-00036-redhat-00001
      13:45:49 INFO {main} : Starting hawtio 
      authentication filter, JAAS realm: "activemq" authorized role(s): 
      "admin" role principal classes: 
      "org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal"
      13:45:49 INFO {main} : Hawtio loginRedirectFilter is using 1800 sec. HttpSession timeout
      13:45:49 INFO {main} : Proxy servlet is disabled
      13:45:49 INFO {main} : Jolokia 
      overridden property: [key=policyLocation, 
      value=file:/home/jboss/amq-broker/etc/jolokia-access.xml]
      2023-04-04 13:45:49,462 INFO 
       [org.apache.activemq.artemis] AMQ241001: HTTP Server started at 
      http://tls-provider-broker-ss-0.tls-provider-broker-hdls-svc.tls-provider-tests-277746.svc.cluster.local:8161
      2023-04-04 13:45:49,463 INFO 
       [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API 
      available at 
      http://tls-provider-broker-ss-0.tls-provider-broker-hdls-svc.tls-provider-tests-277746.svc.cluster.local:8161/console/jolokia
      2023-04-04 13:45:49,463 INFO 
       [org.apache.activemq.artemis] AMQ241004: Artemis Console available at 
      http://tls-provider-broker-ss-0.tls-provider-broker-hdls-svc.tls-provider-tests-277746.svc.cluster.local:8161/console
      

      Attachments

        Issue Links

          Activity

            People

              dbruscin Domenico Francesco Bruscino
              tbueno@redhat.com Tiago Bueno
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: