https://bz.apache.org/bugzilla/show_bug.cgi?id=64425

            Bug ID: 64425
           Summary: Distributed client/server test couldn't fixate the
                    port when using RMI SSL
           Product: JMeter
           Version: 5.2.1
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Main
          Assignee: issues@jmeter.apache.org
          Reporter: liu_xp2...@sina.com
  Target Milestone: JMETER_5.3.0

Created attachment 37227
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=37227&action=edit
JMeter client log

Steps:
1. Generated RMI keystore and put it on JMeter client and server side.
2. Because of firewall, I need to fixate RMI port in jmeter.properties for both
JMeter client and JMeter server
server_port=1099
client.rmi.localport=2096
server.rmi.localport=2099

Sub caseA:
3.1. If I ignore security with server.rmi.ssl.disable=true in jmeter.properties
and then start JMeter server & JMeter client.
4.1. I can run distribution test without RMI SSL.

Sub caseB:
3.2. If I setted security with server.rmi.ssl.disable=false in
jmeter.properties and then start JMeter server & JMeter client.
4.2. I got following log message when starting distribution test.

jmeter -n -R 10.100.159.156 -t Debug.jmx
2020-05-12 15:48:16,899 INFO o.a.j.JMeter: Creating summariser <summary>
2020-05-12 15:48:16,902 INFO o.a.j.e.DistributedRunner: Configuring remote
engine: 10.100.159.156
2020-05-12 15:48:17,735 INFO o.a.j.e.DistributedRunner: Starting distributed
test with remote engines: [10.100.159.156] @ Tue May 12 15:48:17 CST 2020
(1589269697733)
2020-05-12 15:48:17,735 INFO o.a.j.e.ClientJMeterEngine: running clientengine
run method
2020-05-12 15:48:17,739 INFO o.a.j.e.u.CompoundVariable: Note: Function class
names must contain the string: '.functions.'
2020-05-12 15:48:17,739 INFO o.a.j.e.u.CompoundVariable: Note: Function class
names must not contain the string: '.gui.'
2020-05-12 15:48:17,912 INFO o.a.j.r.RmiUtils: System property
'java.rmi.server.hostname' is not defined, using localHost address
2020-05-12 15:48:17,912 INFO o.a.j.r.RmiUtils: Local IP address=10.101.22.54
2020-05-12 15:48:17,914 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-05-12 15:48:18,055 INFO o.a.j.r.SSLRMIServerSocketFactory: Created
SSLSocket: [SSL: ServerSocket[addr=tcn1010365/10.101.22.54,localport=2098]]
2020-05-12 15:48:18,063 INFO o.a.j.s.BatchSampleSender: Using batching (client
settings) for this run. Thresholds: num=100, time=60000
2020-05-12 15:48:18,063 INFO o.a.j.s.DataStrippingSampleSender: Using
DataStrippingSampleSender for this run
2020-05-12 15:48:18,063 INFO o.a.j.r.RmiUtils: System property
'java.rmi.server.hostname' is not defined, using localHost address
2020-05-12 15:48:18,063 INFO o.a.j.r.RmiUtils: Local IP address=10.101.22.54
2020-05-12 15:48:18,204 ERROR o.a.j.e.ConvertListeners: RemoteException
occurred while replacing Remotable item.
java.rmi.server.ExportException: Listen failed on port: 2098; nested exception
is: 
        java.io.IOException: Could not bind to tcn1010365/10.101.22.54 using
port 2098
        at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:337)
~[?:?]
        at
sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:243) ~[?:?]
        at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:412)
~[?:?]
        at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147) ~[?:?]
        at
sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:234) ~[?:?]
        at
java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:470)
~[?:?]
        at
java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:381)
~[?:?]
        at
java.rmi.server.UnicastRemoteObject.<init>(UnicastRemoteObject.java:260) ~[?:?]
        at
org.apache.jmeter.samplers.RemoteSampleListenerImpl.<init>(RemoteSampleListenerImpl.java:44)
~[ApacheJMeter_core.jar:5.2.1]
        at
org.apache.jmeter.engine.ConvertListeners.addNode(ConvertListeners.java:78)
[ApacheJMeter_core.jar:5.2.1]
        at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:976)
[jorphan.jar:5.2.1]
        at
org.apache.jmeter.engine.ClientJMeterEngine.runTest(ClientJMeterEngine.java:137)
[ApacheJMeter_core.jar:5.2.1]
        at
org.apache.jmeter.engine.DistributedRunner.start(DistributedRunner.java:135)
[ApacheJMeter_core.jar:5.2.1]
        at
org.apache.jmeter.engine.DistributedRunner.start(DistributedRunner.java:157)
[ApacheJMeter_core.jar:5.2.1]
        at org.apache.jmeter.JMeter.runNonGui(JMeter.java:1094)
[ApacheJMeter_core.jar:5.2.1]
        at org.apache.jmeter.JMeter.startNonGui(JMeter.java:992)
[ApacheJMeter_core.jar:5.2.1]
        at org.apache.jmeter.JMeter.start(JMeter.java:564)
[ApacheJMeter_core.jar:5.2.1]

It looks like the following code couldn't be executed again for RMI SSL mode
when adding node in org.apache.jmeter.engine.ConvertListeners.java
super(DEFAULT_LOCAL_PORT, RmiUtils.createClientSocketFactory(), 
RmiUtils.createServerSocketFactory()); // RemoteSampleListenerImpl.java
Refer fixed Bug: https://bz.apache.org/bugzilla/show_bug.cgi?id=62463

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to