while running request in jmeter getting errors - jmeter

at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_261]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:1.8.0_261]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:1.8.0_261]
at java.awt.EventQueue$4.run(Unknown Source) ~[?:1.8.0_261]
at java.awt.EventQueue$4.run(Unknown Source) ~[?:1.8.0_261]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_261]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:1.8.0_261]
at java.awt.EventQueue.dispatchEvent(Unknown Source) ~[?:1.8.0_261]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_261]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_261]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_261]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_261]
and this one also
2020-10-22 16:33:41,633 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-10-22 16:33:41,634 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)

These lines:
2020-10-22 16:33:41,633 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test 2020-10-22 16:33:41,634 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, local)
are absolutely normal, given INFO log level they're information messages which just let you know that the test has ended.
With regards to the first exception block - it is not full so we cannot guess what is causing the problem, it might be the case you're suffering from JMeter Bug 64479, if this is the case - just remove HTTP(S) Test Script Recorder from your test plan. If this is not the case - don't run JMeter test in GUI mode, it's only for tests development and debugging, you must use JMeter command-line non-GUI mode for test execution

Related

jmeter slave connection and configuration error [duplicate]

This question already has an answer here:
Jmeter distribtion testting on linux
(1 answer)
Closed 2 years ago.
I am running distributed load testing using JMeter. And I configured few new servers but the problem is it throwing the error "non-JRMP server at remote endpoint".
I followed the correct procedure of generating jks, starting the master, starting slave etc. And in both the client and server, I am able to start the jmeter-server.bat files and I see both the machines have started.
Please note - Firewall is already disabled
Slave:
Created remote object: UnicastServerRef2 [liveRef: [endpoint:192.168.0.3:3424,SSLRMIServerSocketFactory(host=192.168.0.3, keyStoreLocation=rmi_keystore.jks, type=JKS, trustStoreLocation=rmi_keystore.jks, type=JKS, alias=rmi),SSLRMIClientSocketFactory(keyStoreLocation=rmi_keystore.jks, type=JKS, trustStoreLocation=rmi_keystore.jks, type=JKS, alias=rmi),objID:[-39bc9d70:176812fac65:-7fff, 1785184603072403670]]]
Master:
Found ApacheJMeter_core.jar
Created remote object: UnicastServerRef2 [liveRef: [endpoint:192.168.0.1:27849,objID:[-763a229d:176811229c1:-7fff, -5773628807602928343]]]
Can someone suggest if there is anything can be done? All the machines are in same subnet.
jmeter log of master:
2020-12-20 09:41:34,608 INFO o.a.j.e.DistributedRunner: Configuring remote engine: 192.168.0.3
2020-12-20 09:41:34,608 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-20 09:41:34,624 ERROR o.a.j.e.DistributedRunner: Failed to create engine at 192.168.0.3
java.rmi.ConnectIOException: non-JRMP server at remote endpoint
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) ~[?:1.8.0_241]
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) ~[?:1.8.0_241]
at sun.rmi.server.UnicastRef.newCall(Unknown Source) ~[?:1.8.0_241]
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) ~[?:1.8.0_241]
at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:72) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.engine.ClientJMeterEngine.(ClientJMeterEngine.java:85) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.engine.DistributedRunner.createEngine(DistributedRunner.java:244) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.engine.DistributedRunner.getClientEngine(DistributedRunner.java:221) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.engine.DistributedRunner.init(DistributedRunner.java:94) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:80) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) ~[ApacheJMeter_core.jar:5.2.1]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_241]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_241]
at java.awt.EventQueue.access$500(Unknown Source) [?:1.8.0_241]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_241]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_241]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_241]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) [?:1.8.0_241]
at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_241]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_241]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_241]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_241]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_241]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_241]
at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_241]
You have
server.rmi.ssl.disable=true - on the master
server.rmi.ssl.disable=false - on the slave
It leads to the following situation: master tries to communicate with the slave using plain text and the slave is expecting SSL encrypted messages therefore they cannot "understand" each other hence communication fails.
You either need to enable SSL on master, generate the keystore, etc. or to disable it on the slave(s)
More information:
Remote hosts and RMI configuration
How to Perform Distributed Testing in JMeter
Apache JMeter Distributed Testing Step-by-step

JMeter Error when I try to save a test plan file

I have the following error when I tryed to save my test plan in JMeter: Couldn´t save to file (Acess Denyed)
¿Can anyone help me?
The log trace is this one:
ERROR o.a.j.g.a.Save: Failed to backup file : C:\Program Files
(x86)\Sisteplant\LoadTests\TestDefinitions\HandlingUnitStateChangeSimulation.jmx
java.io.FileNotFoundException: C:\Program Files
(x86)\Sisteplant\LoadTests\JMeter\backups\HandlingUnitStateChangeSimulation-000001.jmx (Acceso
denegado)
at java.io.FileOutputStream.open0(Native Method) ~[?:1.8.0_191]
at java.io.FileOutputStream.open(Unknown Source) ~[?:1.8.0_191]
at java.io.FileOutputStream.<init>(Unknown Source) ~[?:1.8.0_191]
at java.io.FileOutputStream.<init>(Unknown Source) ~[?:1.8.0_191]
at org.apache.commons.io.FileUtils.doCopyFile(FileUtils.java:1142) ~[commons-io-2.5.jar:2.5]
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1088) ~[commons-io-2.5.jar:2.5]
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1040) ~[commons-io-2.5.jar:2.5]
at org.apache.jmeter.gui.action.Save.createBackupFile(Save.java:378) ~[ApacheJMeter_core.jar:3.2
r1790748]
at org.apache.jmeter.gui.action.Save.doAction(Save.java:209) ~[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:74) ~
[ApacheJMeter_core.jar:3.2 r1790748]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:59) ~
[ApacheJMeter_core.jar:3.2 r1790748]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_191]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_191]
at java.awt.EventQueue.access$500(Unknown Source) [?:1.8.0_191]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_191]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_191]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_191]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
[?:1.8.0_191]
at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_191]
at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_191]
Thanks a lot,
Most probably your user doesn't have write permissions for the C:\Program Files (x86) folder therefore you're getting this error.
Choose different location (you definitely have write access to your home folder)
Another option is to run JMeter as administrator, this way you get rid of WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0 error as well which unlock some customisation persistence.
Also be informed that according to 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure article you should always be using the latest version of JMeter so consider upgrading to JMeter 5.3 (or whatever is the latest stable JMeter version which is available at JMeter Downloads page) on next available opportunity.
not being on Java8 was the problem for me.
Install Java 8 and it will run fine.
Try the following:
Open JMeter -> Options -> Look and Feel -> Select any other theme other than Darcula.
Restart JMeter,
Create test plan and
try to save.
Save should work.

JMeter - Getting Exception while running JMeter via GUI

I am trying to set up an aws server for performance testing of APIs where the logs will come. I installed Java and Jmeter on that server.
The application server is different i.e. test.server.com:8080
The aws server is different with different ip address.
The Jmeter GUI is installed on my laptop.
In my system in the apache Jmeter --> bin folder --> jmeter.properties, I have defined remote_hosts as ip address of the aws server where the logs should appear.
And server.rmi.localport=50000
I have not made any changes in the jmeter.properties file that is installed on aws server where the logs of performance testing should come.
When I run the Jmeter UI from my system and run --> remote start -> select the ip address of the aws server, it gives me connection time out exception.
In Logs am getting :
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:54)
at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:67)
at org.apache.jmeter.engine.DistributedRunner.createEngine(DistributedRunner.java:237)
at org.apache.jmeter.engine.DistributedRunner.getClientEngine(DistributedRunner.java:213)
at org.apache.jmeter.engine.DistributedRunner.init(DistributedRunner.java:93)
at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:77)
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:80)
at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:40)
at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:62)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
There is some configuration which has not been correctly done I believe. How can I check and what all changes should I make to run the test scripts.
Looks like network/firewall issue. Master & slaves should be in same subnet. If possible, you could create another instance in AWS and make it as a master. Ensure that jmeter master, slaves are able to talk to each other.
You might be behind the firewall. You can access AWS. But AWS can not access your machine/or the application behind the firewall.
Check if you are able to telnet through the specific port.
check AWS inbound/outbound rules.
If you use AWS, I would suggest you to use dokcer + rancherOS - It makes my life much easier in jmeter infrastructure setup.
http://www.testautomationguru.com/jmeter-distributed-load-testing-using-docker-rancheros-in-cloud/

Getting error while sending HTTP message using Jmeter : Software caused connection abort: recv failed

I am using Jmeter to publish the message on apache server. I am using ssl (provided certificate in .pfx format) to send the message but getting the error below:
java.net.SocketException: Software caused connection abort: recv
failed at java.net.SocketInputStream.socketRead0(Native Method) at
java.net.SocketInputStream.read(Unknown Source) at
java.net.SocketInputStream.read(Unknown Source) at
sun.security.ssl.InputRecord.readFully(Unknown Source) at
sun.security.ssl.InputRecord.read(Unknown Source) at
sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at
sun.security.ssl.SSLSocketImpl.waitForClose(Unknown Source) at
sun.security.ssl.HandshakeOutStream.flush(Unknown Source) at
sun.security.ssl.Handshaker.sendChangeCipherSpec(Unknown Source) at
sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown
Source) at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown
Source) at sun.security.ssl.ClientHandshaker.processMessage(Unknown
Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source)
at sun.security.ssl.Handshaker.process_record(Unknown Source) at
sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source) at
sun.security.ssl.AppOutputStream.write(Unknown Source) at
java.io.BufferedOutputStream.flushBuffer(Unknown Source) at
java.io.BufferedOutputStream.write(Unknown Source) at
java.io.FilterOutputStream.write(Unknown Source) at
org.apache.commons.httpclient.methods.StringRequestEntity.writeRequest(StringRequestEntity.java:145)
at
org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
at
org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
at
org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at
org.apache.jmeter.protocol.http.sampler.HTTPHC3Impl.sample(HTTPHC3Impl.java:265)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)
at
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135)
at
org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261)
at java.lang.Thread.run(Unknown Source)
The error can be fixed by exclusively using the Java implementation for all HTTP Requests.
This error occurs a lot when using the HTTPClient3.1 implementation, and rarely when using the HTTPClient4 Implementation.
Ensure that all HTTP Requests and HTTP Request Defaults use the Java Implementation.
You need to add HTTP Cookie Manager.

Apache JMeter connection error

Hi 'm doing load testing with apache testload. am gettimg this error but no stacktrace on my tomcat server
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at org.apache.jmeter.protocol.http.sampler.HTTPJavaImpl.sample(HTTPJavaImpl.java:479)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1054)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1043)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:416)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:271)
at java.lang.Thread.run(Unknown Source)
Looks like the URL you've entered cannot be reached - have you:
Got the correct hostname and port number?
Checked if there is a firewall between your desktop where you're running JMeter and the Tomcat server?
Checked to see if you can get to the tomcat instance via a browser?
Does the browser use any proxy settings that you haven't mirrored in your JMeter config?

Resources