karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Taeschner (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (KARAF-3887) JMXRMI over SSL - Exceptions on Karaf Shutdown
Date Fri, 28 Aug 2015 08:02:45 GMT

     [ https://issues.apache.org/jira/browse/KARAF-3887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Michael Taeschner updated KARAF-3887:
-------------------------------------
    Description: 
We are using JMXRMI over SSL connector as described at JBoss Fuse 6 documentation [1]. This
has worked flawlessly with Karaf 2.4.1 (as base for ServiceMix 4.5.0) but causes exceptions
on container shutdown for version 2.4.3. During runtime the SSL connector is working though
as before.

Exceptions: StackTrace 1
{noformat}Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]"
java.lang.RuntimeException: Could not start JMX connector server
        at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:272)
Caused by: java.io.IOException: Cannot bind to URL [rmi://0.0.0.0:1099/karaf-root]: javax.naming.CommunicationException
[Root exception is java.rmi.NoSuchObjectException: no such object in table]
        at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:827)
        at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:432)
        at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:259)
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.NoSuchObjectException:
no such object in table]
        at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:147)
        at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:228)
        at javax.naming.InitialContext.bind(InitialContext.java:425)
        at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)
        at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)
        ... 1 more
Caused by: java.rmi.NoSuchObjectException: no such object in table
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)
        at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
        at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:141)
        ... 5 more
{noformat}
StackTrace 2
{noformat}
Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]"
java.lang.RuntimeException:
Port already in use: 44444;
You may have started two containers.  If you need to start a second container or the default
ports are already in use update the config file etc/org.apache.karaf.management.cfg and change
the Registry Port and Server Port to unused ports
        at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:268)
{noformat}

etc/org.apache.karaf.management.cfg#ObjectName 
{code:none}
#
# The ObjectName used to register the JMXConnectorServer
#
objectName = connector:name=rmi
keyStoreAvailabilityTimeout = 5000
keyStore = karaf.keystore
# keyAlias maps to keystore.xml keyPasswords alias
keyAlias = local-test
secured = true
authenticatorType = password
trustStore = karaf.keystore
secureAlgorithm = default
secureProtocol = SSL
{code}

The issue can be recreated using stock Karaf download with the following steps:
- copy attached keystore.xml and org.apache.felix.fileinstall-keystore.cfg to ./etc folder
- copy self-signed keystore file (karaf.jmx.ssl.jks) to etc folder
- modify etc/org.apache.karaf.management.cfg as shown below (or use modified copy attached
to issue)
- run container, check exceptions on shutdown

[1] https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Security_Guide/files/ESBSecurityJmxSSL.html

  was:
We are using JMXRMI over SSL connector as described at JBoss Fuse 6 documentation [1]. This
has worked flawlessly with Karaf 2.4.1 (as base for ServiceMix 4.5.0) but causes exceptions
on container shutdown for version 2.4.3. During runtime the SSL connector is working though
as before.

Exceptions: StackTrace 1
{noformat}Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]"
java.lang.RuntimeException: Could not start JMX connector server
        at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:272)
Caused by: java.io.IOException: Cannot bind to URL [rmi://0.0.0.0:1099/karaf-root]: javax.naming.CommunicationException
[Root exception is java.rmi.NoSuchObjectException: no such object in table]
        at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:827)
        at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:432)
        at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:259)
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.NoSuchObjectException:
no such object in table]
        at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:147)
        at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:228)
        at javax.naming.InitialContext.bind(InitialContext.java:425)
        at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)
        at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)
        ... 1 more
Caused by: java.rmi.NoSuchObjectException: no such object in table
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)
        at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
        at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:141)
        ... 5 more
{noformat}
StackTrace 2
{noformat}
Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]"
java.lang.RuntimeException:
Port already in use: 44444;
You may have started two containers.  If you need to start a second container or the default
ports are already in use update the config file etc/org.apache.karaf.management.cfg and change
the Registry Port and Server Port to unused ports
        at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:268)
{noformat}

etc/org.apache.karaf.management.cfg#ObjectName 
{code:text}
#
# The ObjectName used to register the JMXConnectorServer
#
objectName = connector:name=rmi
keyStoreAvailabilityTimeout = 5000
keyStore = karaf.keystore
# keyAlias maps to keystore.xml keyPasswords alias
keyAlias = local-test
secured = true
authenticatorType = password
trustStore = karaf.keystore
secureAlgorithm = default
secureProtocol = SSL
{code}

The issue can be recreated using stock Karaf download with the following steps:
- copy attached keystore.xml and org.apache.felix.fileinstall-keystore.cfg to ./etc folder
- copy self-signed keystore file (karaf.jmx.ssl.jks) to etc folder
- modify etc/org.apache.karaf.management.cfg as shown below (or use modified copy attached
to issue)
- run container, check exceptions on shutdown

[1] https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Security_Guide/files/ESBSecurityJmxSSL.html


> JMXRMI over SSL - Exceptions on Karaf Shutdown
> ----------------------------------------------
>
>                 Key: KARAF-3887
>                 URL: https://issues.apache.org/jira/browse/KARAF-3887
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-management
>    Affects Versions: 2.4.3
>            Reporter: Michael Taeschner
>         Attachments: karaf.jmx.ssl.jks, keys.properties, keystore.xml, org.apache.karaf.management.cfg
>
>
> We are using JMXRMI over SSL connector as described at JBoss Fuse 6 documentation [1].
This has worked flawlessly with Karaf 2.4.1 (as base for ServiceMix 4.5.0) but causes exceptions
on container shutdown for version 2.4.3. During runtime the SSL connector is working though
as before.
> Exceptions: StackTrace 1
> {noformat}Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]"
java.lang.RuntimeException: Could not start JMX connector server
>         at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:272)
> Caused by: java.io.IOException: Cannot bind to URL [rmi://0.0.0.0:1099/karaf-root]: javax.naming.CommunicationException
[Root exception is java.rmi.NoSuchObjectException: no such object in table]
>         at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:827)
>         at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:432)
>         at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:259)
> Caused by: javax.naming.CommunicationException [Root exception is java.rmi.NoSuchObjectException:
no such object in table]
>         at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:147)
>         at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:228)
>         at javax.naming.InitialContext.bind(InitialContext.java:425)
>         at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)
>         at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)
>         ... 1 more
> Caused by: java.rmi.NoSuchObjectException: no such object in table
>         at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
>         at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
>         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)
>         at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
>         at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:141)
>         ... 5 more
> {noformat}
> StackTrace 2
> {noformat}
> Exception in thread "JMX Connector Thread [service:jmx:rmi://0.0.0.0:44444/jndi/rmi://0.0.0.0:1099/karaf-root]"
java.lang.RuntimeException:
> Port already in use: 44444;
> You may have started two containers.  If you need to start a second container or the
default ports are already in use update the config file etc/org.apache.karaf.management.cfg
and change the Registry Port and Server Port to unused ports
>         at org.apache.karaf.management.ConnectorServerFactory$1.run(ConnectorServerFactory.java:268)
> {noformat}
> etc/org.apache.karaf.management.cfg#ObjectName 
> {code:none}
> #
> # The ObjectName used to register the JMXConnectorServer
> #
> objectName = connector:name=rmi
> keyStoreAvailabilityTimeout = 5000
> keyStore = karaf.keystore
> # keyAlias maps to keystore.xml keyPasswords alias
> keyAlias = local-test
> secured = true
> authenticatorType = password
> trustStore = karaf.keystore
> secureAlgorithm = default
> secureProtocol = SSL
> {code}
> The issue can be recreated using stock Karaf download with the following steps:
> - copy attached keystore.xml and org.apache.felix.fileinstall-keystore.cfg to ./etc folder
> - copy self-signed keystore file (karaf.jmx.ssl.jks) to etc folder
> - modify etc/org.apache.karaf.management.cfg as shown below (or use modified copy attached
to issue)
> - run container, check exceptions on shutdown
> [1] https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Security_Guide/files/ESBSecurityJmxSSL.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message