JMeter - RTE Protocol Plugin - Telnet is Non-compliant!

214 views
Skip to first unread message

christopher...@gmail.com

unread,
Feb 28, 2019, 9:00:31 AM2/28/19
to jmeter-plugins
The Telnet implementation in jMeter is broken.
 
It doesn't recognize the Telnet command sequence DO NEW-ENVIRON (defined by RFC 1572, which was published over 25 years ago). But what's actually wrong is that by throwing an exception, this Telnet implementation is in violation of the original Telnet specification, RFC 854 from 1983, which clearly states:
 
   Thus, all hosts may implement their
   TELNET processes to be totally unaware of options that are not
   supported, simply returning a rejection to (i.e., refusing) any
   option request that cannot be understood.
 
Telnet implementations must reject any options they don't recognize, and continue. If the peer that attempted to negotiate the option absolutely requires it, then it's that peer's responsibility to end the conversation.
 
In short, JMeter's Telnet is non-compliant


Error:
2019-02-22 15:21:38,495 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group - Micro Focus LOGIN 
2019-02-22 15:21:38,496 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group - Micro Focus LOGIN. 
2019-02-22 15:21:38,496 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error 
2019-02-22 15:21:38,496 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=5 perThread=5000.0 delayedStart=false 
2019-02-22 15:21:38,496 INFO o.a.j.t.ThreadGroup: Started thread group number 1 
2019-02-22 15:21:38,496 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started 
2019-02-22 15:21:38,497 INFO o.a.j.t.JMeterThread: Thread started: Thread Group - Micro Focus LOGIN 1-1 
2019-02-22 15:21:38,505 ERROR o.a.j.JMeter: Uncaught exception: 
java.security.InvalidParameterException: Unknown telnet command type: FD 27 

        at com.bytezone.dm3270.telnet.TelnetCommand.<init>(TelnetCommand.java:83) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.streams.TelnetListener.processTelnetCommand(TelnetListener.java:129) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.telnet.TelnetProcessor.listen(TelnetProcessor.java:105) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.streams.TelnetListener.listen(TelnetListener.java:55) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.streams.TerminalServer.run(TerminalServer.java:71) ~[dm3270-lib-0.6.jar:?] 
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_162] 
2019-02-22 15:22:38,499 WARN c.b.j.r.s.RTESampler: Timeout error 
java.util.concurrent.TimeoutException: Timeout waiting for emulator to be unlocked after 60000 millis. Check if Timeout values of the 'Wait for' components are greater than Stable time or Silent interval. 
        at com.blazemeter.jmeter.rte.core.listener.ConditionWaiter.await(ConditionWaiter.java:50) ~[jmeter-bzm-rte-1.0.4.jar:?] 
        at com.blazemeter.jmeter.rte.protocols.tn3270.Tn3270Client.connect(Tn3270Client.java:130) ~[jmeter-bzm-rte-1.0.4.jar:?] 
        at com.blazemeter.jmeter.rte.sampler.RTESampler.buildClient(RTESampler.java:484) [jmeter-bzm-rte-1.0.4.jar:?] 
        at com.blazemeter.jmeter.rte.sampler.RTESampler.sample(RTESampler.java:420) [jmeter-bzm-rte-1.0.4.jar:?] 
        at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) [ApacheJMeter_core.jar:5.1 r1853635] 
        at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) [ApacheJMeter_core.jar:5.1 r1853635] 
        at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) [ApacheJMeter_core.jar:5.1 r1853635] 
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) [ApacheJMeter_core.jar:5.1 r1853635] 
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_162] 
2019-02-22 15:22:38,504 ERROR o.a.j.JMeter: Uncaught exception: 
java.security.InvalidParameterException: Unknown telnet command type: FD 27 

        at com.bytezone.dm3270.telnet.TelnetCommand.<init>(TelnetCommand.java:83) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.streams.TelnetListener.processTelnetCommand(TelnetListener.java:129) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.telnet.TelnetProcessor.listen(TelnetProcessor.java:105) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.streams.TelnetListener.listen(TelnetListener.java:55) ~[dm3270-lib-0.6.jar:?] 
        at com.bytezone.dm3270.streams.TerminalServer.run(TerminalServer.java:71) ~[dm3270-lib-0.6.jar:?] 
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_162] 
2019-02-22 15:23:38,502 WARN c.b.j.r.s.RTESampler: Timeout error 
java.util.concurrent.TimeoutException: Timeout waiting for emulator to be unlocked after 60000 millis. Check if Timeout values of the 'Wait for' components are greater than Stable time or Silent 

Roger Abelenda

unread,
Feb 28, 2019, 9:49:43 AM2/28/19
to jmeter-...@googlegroups.com
Hello

Thank you for detection of the issue and provided resources. We will add to the backlog of future releases to fix the aforementioned issues. This issue should happen only in TN3270 protocol though, and is due to an open source library we use to not properly handle such option, we will fix it and include it on an upcomming version of the plugin.

Regards.

--
You received this message because you are subscribed to the Google Groups "jmeter-plugins" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jmeter-plugin...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Chris Bradshaw

unread,
Feb 28, 2019, 9:58:55 AM2/28/19
to jmeter-...@googlegroups.com
Hey Roger,
Not sure if you gathered or not, but I'm not actually running this against the Mainframe, it's Micro Focus...  Would be a feather in your cap to be able to state that on the web!

Just a thought.

Chris

You received this message because you are subscribed to a topic in the Google Groups "jmeter-plugins" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jmeter-plugins/9v7UE4E3f9M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jmeter-plugin...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages