While recording Back Office screens using Jmeter RTE plugin (v2.3) , getting the below error after entering login creds.
Jmeter version - 5.2.1 , RTE plugin version - 2.3
Any help on this please ?
2020-04-07 16:17:32,033 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.NullPointerException: null
at com.bytezone.dm3270.orders.StartFieldExtendedOrder.<init>(StartFieldExtendedOrder.java:45) ~[dm3270-lib-0.11.1.jar:?]
at com.bytezone.dm3270.orders.Order.getOrder(Order.java:47) ~[dm3270-lib-0.11.1.jar:?]
at com.bytezone.dm3270.commands.WriteCommand.<init>(WriteCommand.java:38) ~[dm3270-lib-0.11.1.jar:?]
at com.bytezone.dm3270.commands.Command.getCommand(Command.java:108) ~[dm3270-lib-0.11.1.jar:?]
at com.bytezone.dm3270.streams.TelnetListener.processRecord(TelnetListener.java:98) ~[dm3270-lib-0.11.1.jar:?]
at com.bytezone.dm3270.telnet.TelnetProcessor.listen(TelnetProcessor.java:62) ~[dm3270-lib-0.11.1.jar:?]
at com.bytezone.dm3270.streams.TelnetListener.listen(TelnetListener.java:58) ~[dm3270-lib-0.11.1.jar:?]
at com.bytezone.dm3270.streams.TerminalServer.run(TerminalServer.java:74) ~[dm3270-lib-0.11.1.jar:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
It looks like your RTE plugin installation got broken somewhere somehow, RTE Plugin 2.3 should come with dm3270-lib-0.12.1.jar
And looking into your stacktrace I can see dm3270-lib-0.11.1.jar is being used so it might be the case you have an older version of the library in JMeter Classpath
So first of all I would recommend clean installation of the latest stable JMeter version followed by the latest JMeter Plugins Manager and the latest RTE Plugin
You might also be interested in Using JMeter's RTE plugin which provides instructions on manually building the RTE test plan
Related
I am using jmeter 5.2.1 and I have downloaded the compatible version of ALPN boot and using the http2 view results listener. But still getting below error. Can someone please help.
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client ALPNProcessors!
at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:138)
at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.connect(HTTP2Connection.java:69)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:280)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:140)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:117)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:627)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:551)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:490)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
at java.lang.Thread.run(Unknown Source)
Most probably you missed the important bit of the HTTP2 Plugin installation instructions:
2- On Windows at the start of jmeter.bat add the next line: set JVM_ARGS= -Xbootclasspath/p:<path.to.jar>;
On Linux and Mac at the start of jmeter.sh add the next line (see Notes JMeter for macOS section at the bottom as well): JVM_ARGS="-Xbootclasspath/p:<path.to.jar>"\
3- Restart JMeter
For example my Java version is 1.8.0_202 hence I need alpn-boot-8.1.13.v20181017.jar and the first 3 lines of my jmeter.bat file look like:
#echo off
set JVM_ARGS= -Xbootclasspath/p:c:\apps\jmeter\lib\alpn-boot-8.1.13.v20181017.jar
rem Licensed to the Apache Software Foundation (ASF) under one or more
And HTTP2 plugin is fully functional:
You might also be interested in HTTP/2 - How to get ready for the future article which highlights the main features of the HTTP2 protocol which you should be aware of when it comes to performance testing.
I have java 1.8.0_151 installed and JMeter 5.1. Trying to send HTTP2 request getting the following error:
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client ALPNProcessors!
at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:138)
at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.connect(HTTP2Connection.java:69)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.setConnection(HTTP2Request.java:280)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:140)
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:117)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: No Client ALPNProcessors!
at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.<init>(ALPNClientConnectionFactory.java:57)
at org.eclipse.jetty.http2.client.HTTP2Client.lambda$doStart$1(HTTP2Client.java:155)
at org.eclipse.jetty.http2.client.HTTP2Client$ClientSelectorManager.newConnection(HTTP2Client.java:438)
at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:222)
at org.eclipse.jetty.io.ManagedSelector.access$1500(ManagedSelector.java:60)
at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:825)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672)
... 1 more
Suppressed: java.lang.IllegalStateException: org.eclipse.jetty.alpn.ALPN must be on JVM boot classpath
at org.eclipse.jetty.alpn.java.client.OpenJDK8ClientALPNProcessor.init(OpenJDK8ClientALPNProcessor.java:43)
at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.<init>(ALPNClientConnectionFactory.java:77)
... 8 more
I have downloaded alpn-boot-8.1.11.v20170118.jar (according to my java version) to jmeter\lib folder and added the following record to jmeter.bat: set JVM_ARGS="-Xbootclasspath/p:D:\apache-jmeter-5.1\apache-jmeter-5.1\lib\alpn-boot-8.1.11.v20170118.jar;". HTTP2 request still cannot be sent properly. What I missed? Thank you in advance 😊
Your steps look good, I can only think of 2 reasons for the HTTP2 Sampler not working:
Wrong path to the alpn-boot library, you can check it using dir command like:
dir d:\apache-jmeter-5.1\apache-jmeter-5.1\lib\alpn-boot-8.1.11.v20170118.jar
you should see something like:
Check the Java version JMeter is using as it might pick up not the 1.8.0_151, but the one which comes first in PATH. In order to ensure that JMeter is using the correct Java runtime you can explicitly declare it in jmeter.bat file:
set PATH=d:\java\bin;%PATH%
And finally you can use JSR223 Sampler to print Java version and effective Java arguments, the relevant code would be something like:
log.info('Java version: ' + System.getProperty('java.version'))
java.lang.management.ManagementFactory.getRuntimeMXBean().getInputArguments().each {
log.info("Effective JVM argument: " + "$it")
}
If the above checklist items are applied you should be able to normally execute HTTP2 requests:
Also be aware that according to 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure you should always be using the latest version of JMeter so consider upgrading to JMeter 5.2 (or whatever is the latest stable version available at JMeter Downloads page) as soon as possible.
Check this thread also:
HTTP2 request sample crashes with Jmeter4, Java 10 No Client ALPNProcessors .
It says here: In particular, the jetty-alpn-openjdk8-client dependency is invalid and not appropriate for Java 9+. For Java 9+, the jetty-alpn-java-client should be used instead.
Whenever I run JMeter at the Windows command line, I get this error message. Everything runs fine, but the error message is distracting. Can I do something to get rid of it? I'm using JMeter 5.1.1 r1855137.
2019-10-07 09:12:39,625 main ERROR Unable to invoke factory method in class org.jmeterplugins.repository.logging.LoggerAppender for element Logger: java.lang.IllegalStateException: No factory method found for class org.jmeterplugins.repository.logging.LoggerAppender java.lang.IllegalStateException: No factory method found for class org.jmeterplugins.repository.logging.LoggerAppender
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:235)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:135)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:959)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:899)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:891)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:514)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:238)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:250)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:547)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:619)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121)
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
at org.apache.jmeter.JMeter.<clinit>(JMeter.java:124)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.jmeter.NewDriver.main(NewDriver.java:251)
Most probably you're experiencing the consequence of JMeter enhancement 60589 which was introduced in JMeter 3.2, it seems that you have an outdated version of the JMeter Plugins Manager somewhere in JMeter Classpath.
Remove previous version(s) of the JMeter Plugins Manager from "lib/ext" folder of your JMeter installation (same for the plugins, if any). A better idea would be getting a "clean" copy of JMeter from JMeter Downloads page)
Obtain a new version of the JMeter Plugins Manager and drop it to /lib/ext folder of your JMeter installation
Restart JMeter - at this stage you should not see any logging-related errors
Install the plugins you need using the Plugins Manager.
I try to install ruby runtime, rvm, cucumber plugins in Jenkins,
When I am installing ruby runtime plugin, I meet this error:
java.io.IOException: Failed to dynamically deploy this plugin
at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1328)
at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1126)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Failed to install ruby-runtime plugin
at hudson.PluginManager.dynamicLoad(PluginManager.java:487)
at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1324)
... 5 more
Caused by: java.io.IOException: Failed to initialize
at hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:441)
at hudson.PluginManager.dynamicLoad(PluginManager.java:478)
... 6 more
Caused by: java.lang.ClassCircularityError: org/jruby/RubyClass
at java.lang.Class.forName0(Native Method)
...
How to fix it? Thanks in advance
It's a known bug.
There is a workaround:
in /etc/default/jenkins
-Dhudson.ClassicPluginStrategy.noBytecodeTransformer=true
JAVA_ARGS="$JAVA_ARGS -Dhudson.ClassicPluginStrategy.noBytecodeTransformer=true"
At the moment there is no definitive solution as you can see.
On Windows,
Adding argument
-Dhudson.ClassicPluginStrategy.noBytecodeTransformer=true
in jenkins.xml file worked for me as #lvthillo stated.
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dhudson.ClassicPluginStrategy.noBytecodeTransformer=true -jar "%BASE%\jenkins.war" --httpPort=8081 --webroot="%BASE%\war"</arguments>
On OSX I had to edit /Library/Application Support/Jenkins/jenkins-runner.sh
to add these lines at a point after javaArgs was defined
# workaround for ruby runtime install issue
# per http://stackoverflow.com/questions/33883551/error-installing-ruby-runtime-in-jenkins
javaArgs="$javaArgs -Dhudson.ClassicPluginStrategy.noBytecodeTransformer=true"
There is probably a more mac-ish way to do this.
Upon rebooting Jenkins, the ruby runtime plugin, which was already downloaded, started working, as did the also-downloaded rvm plugin, which is the one I was after.
I solved it by changing java version to 8th.
Maybe there is a problem with java 11 compatibility issues.
1- https://www.liquidweb.com/kb/install-java-8-on-centos-7/
2- On Centos delete all ruby plugin in /var/lib/jenkins/plugins
3- download ruby-runtime.hpi plugin from https://updates.jenkins-ci.org/download/plugins/ruby-runtime/
4- Upload Plugin in jenkins /pluginManager/advanced.
Adding -Dhudson.ClassicPluginStrategy.noBytecodeTransformer=true in jenkins.xml file doesn't work for me (Windows, Jenkins 2.277.1).
So I just deleted all files for ruby-runtime from Plugins folder (you need to shutdown Jenkins service) and start Jenkins again.
For me, installing java 8 solved the problem. After that I was able to install the ruby-runtime plugin.
Environment: Debian 10
We are currently using the 2.0.0-M06 snapshot version of the neo4j jdbc driver and are trying to use the latest version available. We found the 2.1.4 version on the maven repository below,
https://m2.neo4j.org/content/repositories/releases/org/neo4j/neo4j-jdbc/
However, while trying to use this we see the below error..
Caused by: java.lang.IllegalStateException: Error during parsing
at org.neo4j.jdbc.rest.StreamingParser$ParserState.nextToken(StreamingParser.java:71)
at org.neo4j.jdbc.rest.StreamingParser.skipTo(StreamingParser.java:313)
at org.neo4j.jdbc.rest.StreamingParser.nextResult(StreamingParser.java:130)
at org.neo4j.jdbc.rest.StreamingParser$2.hasNext(StreamingParser.java:265)
at org.neo4j.jdbc.rest.StreamingParser$2$1.endReached(StreamingParser.java:269)
at org.neo4j.jdbc.rest.StreamingParser$1.hasNext(StreamingParser.java:201)
at org.neo4j.jdbc.IteratorResultSet.hasNext(IteratorResultSet.java:98)
at org.neo4j.jdbc.IteratorResultSet.next(IteratorResultSet.java:63)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.next(NewProxyResultSet.java:2859)
... 92 more
Caused by: java.io.IOException: Stream closed
at sun.nio.cs.StreamDecoder.ensureOpen(StreamDecoder.java:46)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:148)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at org.codehaus.jackson.impl.ReaderBasedParser.loadMore(ReaderBasedParser.java:117)
at org.codehaus.jackson.impl.ReaderBasedParser._skipWSOrEnd(ReaderBasedParser.java:1476)
at org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:368)
at org.neo4j.jdbc.rest.StreamingParser$ParserState.nextToken(StreamingParser.java:67)
... 100 more
We found a reference that this is addressed in the 2.2 version of the driver and are therefore trying to download that. Can someone please point us in the right direction in getting this 2.2 binary for the neo4j-jdbc driver? Also, we currently use the neo4j 2.2 version for our db server.
Thx,
NN
I think version 2.2 is not released yet.
You can try to build your own binaries from the source code - https://github.com/neo4j-contrib/neo4j-jdbc