I am getting this error when trying to use the SMTP sampler in Apache JMeter 5.3:
avax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 465
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961) ~[mail-1.5.0-b01.jar:1.5.0-b01]
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654) ~[mail-1.5.0-b01.jar:1.5.0-b01]
at javax.mail.Service.connect(Service.java:295) ~[mail-1.5.0-b01.jar:1.5.0-b01]
at javax.mail.Service.connect(Service.java:176) ~[mail-1.5.0-b01.jar:1.5.0-b01]
at org.apache.jmeter.protocol.smtp.sampler.protocol.SendMailCommand.execute(SendMailCommand.java:323) ~[ApacheJMeter_mail.jar:5.3]
at org.apache.jmeter.protocol.smtp.sampler.SmtpSampler.executeMessage(SmtpSampler.java:169) [ApacheJMeter_mail.jar:5.3]
at org.apache.jmeter.protocol.smtp.sampler.SmtpSampler.sample(SmtpSampler.java:146) [ApacheJMeter_mail.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630) [ApacheJMeter_core.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) [ApacheJMeter_core.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.3]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.3]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: javax.net.ssl.SSLHandshakeException: A potential protocol version downgrade attack
at sun.security.ssl.Alert.createSSLException(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.Alert.createSSLException(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.TransportContext.fatal(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.TransportContext.fatal(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.TransportContext.fatal(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.ServerHello$ServerHelloConsumer.consume(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.SSLHandshake.consume(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.HandshakeContext.dispatch(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.HandshakeContext.dispatch(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.TransportContext.dispatch(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.SSLTransport.decode(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.SSLSocketImpl.decode(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) ~[?:1.8.0_271]
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) ~[?:1.8.0_271]
at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:527) ~[mail-1.5.0-b01.jar:1.5.0-b01]
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:332) ~[mail-1.5.0-b01.jar:1.5.0-b01]
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:234) ~[mail-1.5.0-b01.jar:1.5.0-b01]
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927) ~[mail-1.5.0-b01.jar:1.5.0-b01]
... 11 more
I have updated to the newest version of Java and Apache JMeter.
I tryied setting the property: https.default.protocol=TLSv1.2 in jmeter.properties without any change.
Any suggestions?
The question doesn't contain full details so I can only assume that there is a mismatch between your email server and JMeter SSL protocols and most likely JMeter is trying to establish the connection using lower protocol version than the server is using.
You can add the next line to system.properties file:
javax.net.debug=all
and it should give you more insights regarding what is the cause of the problem and once you narrow this down it will be easier to find the solution.
One of the workarounds is adding the next line to the aforementioned system.properties file:
jdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2"
If my assumption is wrong and it's JMeter using too new protocol you can try downgrading your JDK version, the minimum required for JMeter 5.3 is Java 8
More information:
Debugging SSL/TLS Connections
Configuring JMeter
Apache JMeter Properties Customization Guide
I found the solution which wat pretty close to what Dmitri T suggested.
I had to add TLSv1.3 to the list and also to enable TLSv1.3 in Java Control Panel.
I tried other setups as well, but this was the only pattern I found working.
Complete JMeter configuration string: jdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2,TLSv1.3"
Related
lately I changed my PCs and right now I am using M1 MacBook Pro and Lenovo ThinkPad (Windows). On Firefox, I configured my proxy and certificate setting just as I did with my previous computers. But when I try to record the traffic of targeted websites, I receive different certificate and SSL errors. I see the requests on View Results Tree and Recording Controller, but i get the following errors:
javax.net.ssl.SSLException: java.lang.NullPointerException
at sun.security.ssl.Alert.createSSLException(Alert.java:133)
at sun.security.ssl.TransportContext.fatal(TransportContext.java:370)
at sun.security.ssl.TransportContext.fatal(TransportContext.java:313)
at sun.security.ssl.TransportContext.fatal(TransportContext.java:308)
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1463)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:414)
at sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:819)
at sun.security.ssl.SSLSocketImpl.access$200(SSLSocketImpl.java:75)
at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:902)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
at org.apache.jmeter.protocol.http.proxy.HttpRequestHdr.parse(HttpRequestHdr.java:138)
at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:202)
Caused by: java.lang.NullPointerException
at sun.security.ssl.HKDF.extract(HKDF.java:93)
at sun.security.ssl.HKDF.extract(HKDF.java:119)
at sun.security.ssl.ServerHello.setUpPskKD(ServerHello.java:1147)
at sun.security.ssl.ServerHello.access$900(ServerHello.java:53)
at sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(ServerHello.java:547)
at sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:420)
at sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1096)
at sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1032)
at sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:716)
at sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:683)
at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:376)
at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:479)
at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:457)
at sun.security.ssl.TransportContext.dispatch(TransportContext.java:200)
at sun.security.ssl.SSLTransport.decode(SSLTransport.java:154)
at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1290)
at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1199)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:401)
... 7 more
javax.net.ssl.SSLException: Session has no PSK
at sun.security.ssl.Alert.createSSLException(Unknown Source)
at sun.security.ssl.Alert.createSSLException(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.PreSharedKeyExtension.checkBinder(Unknown Source)
at sun.security.ssl.PreSharedKeyExtension.access$1100(Unknown Source)
at sun.security.ssl.PreSharedKeyExtension$CHPreSharedKeyUpdate.consume(Unknown Source)
at sun.security.ssl.SSLExtension.consumeOnTrade(Unknown Source)
at sun.security.ssl.SSLExtensions.consumeOnTrade(Unknown Source)
at sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(Unknown Source)
at sun.security.ssl.SSLHandshake.produce(Unknown Source)
at sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(Unknown Source)
at sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(Unknown Source)
at sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(Unknown Source)
at sun.security.ssl.ClientHello$ClientHelloConsumer.consume(Unknown Source)
at sun.security.ssl.SSLHandshake.consume(Unknown Source)
at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
at sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
at sun.security.ssl.TransportContext.dispatch(Unknown Source)
at sun.security.ssl.SSLTransport.decode(Unknown Source)
at sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.ensureNegotiated(Unknown Source)
at sun.security.ssl.SSLSocketImpl.access$200(Unknown Source)
at sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.apache.jmeter.protocol.http.proxy.HttpRequestHdr.parse(HttpRequestHdr.java:138)
at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:202)
org.apache.http.client.ClientProtocolException
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:843)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:574)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231)
at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:237)
Caused by: org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:149)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
... 6 more
And on Sampler Result tab it shows me this warning:
ensure browser is set to accept the JMeter Proxy certificate
And how I configured Mozilla Firefox and JMeter:
Added localhost with 8888 port as my proxy
Added Jmeter Proxy certificate into my certificates
Made sure that JMeter is set to 8888 port.
Waiting for your help :)
Your configuration seems valid to me so I can only think of possible bug in Java runtime like JDK-8213202
So you might want to try i.e. Azul Zulu Builds of OpenJDK for arm-64 and see whether it resolves your issue.
Alternatively you can consider using JMeter Chrome Extension, in this case you won't have to worry about proxies and certificates
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
I am working with load testing in Jmeter and Blazemeter and I apply it in two different versions of the web application. One is the test version and the other is the production version. My script works fine in test version but not in the other one. Here I get some petitions that throw errors like this:
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at sun.security.ssl.OutputRecord.writeBuffer(Unknown Source)
at sun.security.ssl.OutputRecord.write(Unknown Source)
at sun.security.ssl.SSLSocketImpl.writeRecordInternal(Unknown Source)
at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at sun.security.ssl.AppOutputStream.write(Unknown Source)
at org.apache.http.impl.io.SessionOutputBufferImpl.streamWrite(SessionOutputBufferImpl.java:124)
at org.apache.http.impl.io.SessionOutputBufferImpl.write(SessionOutputBufferImpl.java:160)
at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:113)
at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:120)
at org.apache.http.entity.StringEntity.writeTo(StringEntity.java:167)
at org.apache.http.impl.DefaultBHttpClientConnection.sendRequestEntity(DefaultBHttpClientConnection.java:156)
at org.apache.http.impl.conn.CPoolProxy.sendRequestEntity(CPoolProxy.java:152)
at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:238)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$5.doSendRequest(HTTPHC4Impl.java:392)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:843)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:574)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220)
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)
I change the timeout values of the petition that throw that error but it does not work. It gives me this error:
java.net.SocketException: Connection reset
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.readDataRecord(Unknown Source)
at sun.security.ssl.AppInputStream.read(Unknown Source)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:843)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:574)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:67)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220)
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)
I am new to jmeter. I do not know how to solve this. Maybe it is not an error of my script. Still... do you have any suggestions?
Thanks
Most probably you're running into situation described in Connection Reset since JMeter 2.10 ? article from Apache JMeter Wiki
According to the article the reasons could be in:
Retry or stale check can hide issues on Server configuration:
Server failing to send the (optional) Keep-Alive header
Overwhelmed server refusing connection, retrying would increase load
So I would recommend
to check whether your production version is really sending Keep-Alive header in particular and compare the response headers from test and production environments in general:
to ensure that the application has enough headroom to operate in terms of CPU, RAM, Network sockets, etc., it can be done using i.e. JMeter PerfMon Plugin
If you're absolutely sure that your application behaviour is correct you can amend JMeter properties as it's described in the Wiki page to tolerate potentially incorrect system under test setup.
In user.properties file add the next lines:
httpclient4.retrycount=1
hc.parameters.file=hc.parameters
In hc.parameters file add the next lines:
http.connection.stalecheck$Boolean=true
I am recording my client web application. Till 3-4 steps I am able to record but after clicking on one option. I am getting page of "Connect to network" while clicking on the connect button, it will open new tab were I am getting bellow error.
How to overcome this and proceed with recording?
java.net.SocketException: Permission denied: 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 org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at `enter code here`org.apache.jmeter.protocol.http.sampler.hc.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:318)
at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.open(MeasuringConnectionManager.java:114)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:695)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:454)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1189)
at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:244)
Try adding the next line to system.properties file (lives in JMeter "bin" folder)
java.net.preferIPv4Stack=true
and restarting JMeter to pick the property up
Try upgrading to Java 8 and JMeter 3.3 (or whatever latest version is available at JMeter Downloads page)
Try the latest JMeter Nightly build
Going forward please include at least essential parts of jmeter.log file into your question so we could see JMeter version, Java version, etc.
I setup sOAPUI 4.5.1 on Windows XP. It read data file (Excel Format) from a remote server in Data Source correctly.
Now I change Windows to 7 and setup sOAPUI 4.5.1. But I have problem in reading file from remote server and exist Error az below:
"
http:\shpnt07\Support\Modernbank%20Maintenance\Shared%20Documents\محصولات%20مدرن\General\Test\Test%20Design\Functional%20Test\Test%20Data\R292\Loan\GetGuarantyList.xls (The filename, directory name, or volume label syntax is incorrect)
"
While the URL work correctly in Browser.
I try this with Disable and Enable Proxy in browser and SOAPUI.
also I try this with off Firewall and Antivirus.
When Run SoapUI the Error occur on soapui-error.log file:
2014-03-18 10:26:27,844 ERROR [errorlog] Network Error for Version Update or Proxy
2014-03-18 10:26:27,846 ERROR [errorlog] java.net.ConnectException: Connection timed out: connect
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 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 sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at com.eviware.soapui.support.SoapUIVersionUpdate.getLatestVersionAvailable(SoapUIVersionUpdate.java:97)
at com.eviware.soapui.support.SoapUIVersionUpdate.checkForNewVersion(SoapUIVersionUpdate.java:267)
at com.eviware.soapui.SoapUIPro$SoapUIProRunner.run(SourceFile:1805)
at com.eviware.soapui.SoapUIPro.main(SourceFile:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)
please Help me. This is important and I wait.
The error trace says it is having problem reaching out to soapUI server to look for the latest version of the soapUI. This could be of a proxy between you and the server.
You have two options to resolve this
Add proxy details
disable check for new version of soapUI. check the image below and leave the option unchecked.
For the excel file error can you change the محصولات%20مدرن folder name to an english name. Maybe it is not able to recognize the special characters. Also, when you give the url in soapUI are you removing %20 part?