[
https://issues.apache.org/jira/browse/KARAF-7096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17317194#comment-17317194
]
ASF GitHub Bot commented on KARAF-7096:
---------------------------------------
grgrzybek opened a new pull request #1343:
URL: https://github.com/apache/karaf/pull/1343
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> When rmiServerHost is 127.0.0.1, RMIServerImpl_Stub still uses hostname's IP
> ----------------------------------------------------------------------------
>
> Key: KARAF-7096
> URL: https://issues.apache.org/jira/browse/KARAF-7096
> Project: Karaf
> Issue Type: Bug
> Affects Versions: 4.2.11, 4.3.1
> Reporter: Grzegorz Grzybek
> Assignee: Grzegorz Grzybek
> Priority: Major
> Fix For: 4.2.12, 4.3.2
>
>
> It's a follow-up of the investigation from KARAF-6955. Copying the
> description:
> I had problem after this change - {{jconsole}} stopped working and sample
> Java application ended with {{Connection refused}} exception.
> I did enjoyable analysis and I found that:
> * ports are opened on proper interfaces ({{::ffff:127.0.0.1}} in my case,
> which is an IPv6 address from _::ffff:0:0/96 CIDR_ that represents
> _Transition from IPv4_ address block)
> * I could connect to RMI Registry at port 1099 and even obtain {{karaf-root}}
> object from there, which:
> ** is of {{javax.management.remote.rmi.RMIServer}} interface
> ** is of {{javax.management.remote.rmi.RMIServerImpl_Stub}} implementation
> The problem is that this stub contains:
> {noformat}
> ref: java.rmi.server.RemoteRef = {sun.rmi.server.UnicastRef2@1918}
> ...
> ref: sun.rmi.transport.LiveRef = {sun.rmi.transport.LiveRef@1925}
> "[endpoint:[192.168.0.38:44444](remote),objID:[2f23195f:178a6a29327:-7ffa,
> 4962682433218761153]]"
> ep: sun.rmi.transport.Endpoint = {sun.rmi.transport.tcp.TCPEndpoint@1927}
> "[192.168.0.38:44444]"
> host: java.lang.String = "192.168.0.38"
> port: int = 44444 (0xAD9C)
> {noformat}
> The problem is that when {{RMIServerImpl_Stub}} is created *at server side*
> by karaf.management.server bundle, the bind address of this remote object is
> NOT taken from {{rmiServerHost}} property of {{org.apache.karaf.management}}
> PID. It's taken from (top to bottom):
> * sun.rmi.transport.tcp.TCPEndpoint#getLocalEndpoint()
> * java.net.InetAddress#getLocalHost()
> * java.net.InetAddressImpl#getLocalHostName()
> * java.net.InetAddress#getAddressesFromNameService()
> * java.net.Inet6AddressImpl#lookupAllHostAddr()
> * getaddress() libc method
> * /etc/hosts
> The way to solve this is to set {{java.rmi.server.hostname}} system property
> to 127.0.0.1, so the Stub contains proper address.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)