pb with recorder

When i use the recorder some css and .js are corrupted and i didn’t make my scenario complete. All css and js greater than 16ko are truncated by the recorder…
Is it a bug ?

jquery.min.js has normaly a size of 18,8 ko with the recorder the size is 16,2 ko.

Hi Rémi,

I think there might be a size limit in the code. I’ll check this and come back to you :slight_smile:

Cheers,
Romain

Hi again,

There is actually a limit, but it’s at 100Mo, this shouldn’t be the problem :wink:

This is very strange. Do you know if the bug happens with image files with size > 16ko also ?

Cheers,
Romain

Ho God I hate these bugs in the recorder…
@Rémi: did you get any exception in the console? Which version of Gatling do you use?

2012/8/8 Romain Sertelon <bluepyth@gmail.com>

BTW, another question : How exactly do you get the file size through the recorder ?

You have to know that the recorder GUI truncates the content of the files while shown only. The requests are executed in their wholeness by the recorder, it’s only the presentation that might truncate the files.

If this is what you observed, what is your problem ? :slight_smile:

I just run a test with the demo app (http://excilys-bank-web.cloudfoundry.com) and the all.js file gets correctly served.
@Rémi would it be possible to get access to the website you’re trying to record?

2012/8/8 Romain Sertelon <bluepyth@gmail.com>

I’m in gatling 1.2.5.
All image and css and js which are greater than 16ko are truncated so javascript on my home page are broken, and i can’t record the next step.
I have tested the demo app and i don’t have the problem,
I send you by email, the url of website.
Thank’s you very much for your job !
Rémy

gatlingsansrecorder.jpg

withgatlingrecorder.jpg

below http header of an truncated file :

Accept-Rangesbytes
Cache-Controlmax-age=36000
Connectionkeep-alive
Content-Encodinggzip
Content-Length 16402
Content-Type text/css
Date Wed, 08 Aug 2012 22:02:26 GMT
Etag "24ced-4c6c1d6d34380"
ExpiresThu, 09 Aug 2012 01:00:53 GMT
Last-ModifiedWed, 08 Aug 2012 14:22:22 GMT
ServerApacheVaryAccept-Encoding

I’m on it ! :slight_smile: (read your other mail ;))

I’ve read* Sorry :slight_smile:

Any update on this issue, I am seeing similar behavior with Gatling recorder.
Few js files are truncated during download with Gatling recorder. I also see
these exceptions when this happens, not sure if it is related.

Thanks,

(OneToOneEncoder.java:65) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.handler.codec.http.HttpContentEncoder.writeRequested(
HttpContentEncoder.java:132) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.Channels.write(Channels.java:712) ~[netty-3.5
.2.Final.jar:na]
at org.jboss.netty.channel.Channels.write(Channels.java:679) ~[netty-3.5
.2.Final.jar:na]
at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:24
6) ~[netty-3.5.2.Final.jar:na]
at com.excilys.ebi.gatling.recorder.http.handler.ServerHttpResponseHandl
er.messageReceived(ServerHttpResponseHandler.scala:32) ~[gatling-recorder-1.2.5.
jar:na]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:29
6) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceive
d(HttpChunkAggregator.java:193) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.handler.codec.http.HttpContentDecoder.messageReceived
(HttpContentDecoder.java:127) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:29
6) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessage
Received(FrameDecoder.java:448) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(Repl
ayingDecoder.java:538) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived
(ReplayingDecoder.java:437) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.handler.codec.http.HttpClientCodec.handleUpstream(Htt
pClientCodec.java:92) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:26
8) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:25
5) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)
~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) ~
[netty-3.5.2.Final.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na
:1.7.0_04]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [n
at java.lang.Thread.run(Unknown Source) [na:1.7.0_04]
Sep 17, 2012 12:37:00 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.lang.UnsupportedOperationException
at org.jboss.netty.buffer.CompositeChannelBuffer.array(CompositeChannelB
uffer.java:166)
at com.excilys.ebi.gatling.recorder.scenario.RequestElement.(Reque
stElement.scala:58)
at com.excilys.ebi.gatling.recorder.controller.RecorderController.proces
sRequest(RecorderController.scala:184)
at com.excilys.ebi.gatling.recorder.controller.RecorderController.receiv
eResponse(RecorderController.scala:102)
at com.excilys.ebi.gatling.recorder.http.handler.ServerHttpResponseHandl
er.messageReceived(ServerHttpResponseHandler.scala:31)
at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceive
d(HttpChunkAggregator.java:149)
at org.jboss.netty.handler.codec.http.HttpContentDecoder.messageReceived
(HttpContentDecoder.java:100)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:29
6)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessage
Received(FrameDecoder.java:455)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(Repl
ayingDecoder.java:538)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived
(ReplayingDecoder.java:487)
at org.jboss.netty.handler.codec.http.HttpClientCodec.handleUpstream(Htt
pClientCodec.java:92)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:26
8)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:25
5)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
00:37:02.385 [WARN ] c.e.e.g.r.h.h.BrowserHttpsRequestHandler - Trying to connec
t to https://accounts.google.com:443, make sure you’ve accepted the recorder cer
tificate for this site
00:37:04.803 [WARN ] c.e.e.g.r.h.h.BrowserHttpsRequestHandler - Trying to connec
t to https://secure.leadback.advertising.com:443, make sure you’ve accepted the
recorder certificate for this site
Sep 17, 2012 12:37:16 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 17, 2012 12:37:20 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 17, 2012 12:37:21 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 17, 2012 12:37:25 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
00:37:30.559 [ERROR] c.e.e.g.r.h.h.BrowserHttpRequestHandler - Exception caught
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.7.0_04]
at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.IOUtil.read(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[na:1.7.0_04]
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) ~
[netty-3.5.2.Final.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na
:1.7.0_04]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [n
at java.lang.Thread.run(Unknown Source) [na:1.7.0_04]
00:37:30.559 [ERROR] c.e.e.g.r.h.h.BrowserHttpRequestHandler - Exception caught
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.7.0_04]
at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.IOUtil.read(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[na:1.7.0_04]
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) ~
[netty-3.5.2.Final.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na
:1.7.0_04]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [n
at java.lang.Thread.run(Unknown Source) [na:1.7.0_04]
00:37:30.559 [ERROR] c.e.e.g.r.h.h.BrowserHttpRequestHandler - Exception caught
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.7.0_04]
at sun.nio.ch.SocketDispatcher.read(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.IOUtil.read(Unknown Source) ~[na:1.7.0_04]
at sun.nio.ch.SocketChannelImpl.read(Unknown Source) ~[na:1.7.0_04]
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247) ~[netty-3.5.2.Final.jar:na]
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) ~
[netty-3.5.2.Final.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na
:1.7.0_04]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [n
at java.lang.Thread.run(Unknown Source) [na:1.7.0_04]
Sep 17, 2012 12:38:11 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 17, 2012 12:39:12 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Sep 17, 2012 12:42:07 AM org.jboss.netty.channel.SimpleChannelHandler
WARNING: EXCEPTION, please implement com.excilys.ebi.gatling.recorder.http.handl
er.ServerHttpResponseHandler.exceptionCaught() for proper handling.
java.io.IOException: An existing connection was forcibly closed by the remote ho
st
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:63)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedK
eys(AbstractNioWorker.java:373)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioW
orker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Hi Dude,

I believe it to be fixed in master along with https://github.com/excilys/gatling/issues/629

Could you try the latest snapshot, please:
http://repository-gatling.forge.cloudbees.com/snapshot/com/excilys/ebi/gatling/highcharts/gatling-charts-highcharts/1.3.0-SNAPSHOT/

Cheers,

Steph

2012/9/16 netdude <netdude787@gmail.com>

I just ran a test with 1.3.0-SNAPSHOT on the jQuery home page and the javascript plays fine.
If you still have problems, please share.

2012/9/16 Stéphane Landelle <slandelle@excilys.com>

Stephane,
Thanks for your prompt response, i will try it out.

That would be great as we’re about to release 1.3.0.

Thanks,

Stéphane

2012/9/19 netdude <netdude787@gmail.com>

Stephane,
I don’t see exception anymore with 1.3.0, I was able to record perfectly with local
hosting. I still see issue recording with EC2 hosting. Couple of js files are partially
downloaded.

Thanks,

Strange.
Could it be possible to share the scenario so I can try to reproduce?

2012/9/20 netdude <netdude787@gmail.com>

Stephane,

The js files that are affected seem to be big ones, one of them is jquery.qtip.js(90KB unminimized)
Have you tried with js files of this size?

Thanks,

The good news is that I was finally able to reproduce.
I’ll keep you updated.

Stéphane

2012/9/20 netdude <netdude787@gmail.com>

Hi,

Actually, I’m not sure the issue I bumped in is the same as yours.
I think did fix some minor issue in master, don’t know if it’s related though.
And the tests I ran with big js files (like the Richfaces demo http://showcase.richfaces.org) were fine.

Do you think you could share the page you’re trying to record?

Cheers,

Stéphane