JMeter 3.2 issue recording file upload

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

JMeter 3.2 issue recording file upload

derek kelly
I'm not certain if this is truly a JMeter bug or an IIS/ASP bug.

I'll give a brief description here, but I have loads of supporting info and files at https://stackoverflow.com/questions/45291222/jmeter-3-2-file-upload-hitting-asp-net-as-null-file

Using JMeter 3.2, Windows 10, IIS 10, ASP 4.5, Visual Studio 2015 (c#, MVC).

Without running JMeter I can upload a file and the server receives it.  When I'm running JMeter (just recording) and I attempt to upload the file I get an error page because the function the runs when a file is upload got called, but the upload is "null".  So it doesn't see the file that it was supposed to get.

I have a sample project with the sample site and a JMeter script that can easily be run between 2 windows machines.

I'm hoping somebody has some insight into why that is happening and how to fix it.

Thanks,
DKMan
Reply | Threaded
Open this post in threaded view
|

Re: JMeter 3.2 issue recording file upload

Felix Schumacher
Am 26.07.2017 um 19:23 schrieb derek kelly:

> I'm not certain if this is truly a JMeter bug or an IIS/ASP bug.
>
> I'll give a brief description here, but I have loads of supporting info and files at https://stackoverflow.com/questions/45291222/jmeter-3-2-file-upload-hitting-asp-net-as-null-file
>
> Using JMeter 3.2, Windows 10, IIS 10, ASP 4.5, Visual Studio 2015 (c#, MVC).
>
> Without running JMeter I can upload a file and the server receives it.  When I'm running JMeter (just recording) and I attempt to upload the file I get an error page because the function the runs when a file is upload got called, but the upload is "null".  So it doesn't see the file that it was supposed to get.
>
> I have a sample project with the sample site and a JMeter script that can easily be run between 2 windows machines.
>
> I'm hoping somebody has some insight into why that is happening and how to fix it.
Can you put the tcpdump that you showed in the link somewhere, so that
we can have a look at? It would be best, if it would contain both
streams (client<->jmeter and jmeter<->server). The webapp would not help
me, as I don't have windows.

Felix

>
> Thanks,
> DKMan
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: JMeter 3.2 issue recording file upload

derek kelly
Uploaded new captures to
http://s000.tinyupload.com/?file_id=94935134134663577067

I chose a bad file on the first one (one that I don't want to share with the internet).  I haven't seen a server 400 since that one though.

On the server side I filter on (ip.src == 192.168.200.237 || ip.dst == 192.168.200.237) && http
On the client side I filter on (ip.src == 192.168.200.123 || ip.dst == 192.168.200.123) && http

On the JMeter proxied calls you see the response including:
        Entered UploadFile with null filename
        Current.Request.Files.Count is zero
        Entered UploadFile with null filename or 0 files

Where the non-proxied responses include:
        Entered UploadFile with destFile2.txt
        Current.Request.Files.Count is 1
        HpfLength is 1640
        Entered UploadFile with destFile2.txt

To me, other than a slightly different header it looks like JMeter is sending the file.

But any idea why the application isn't receiving it?

-----Original Message-----
From: Felix Schumacher [mailto:[hidden email]]
Sent: Wednesday, July 26, 2017 2:54 PM
To: [hidden email]
Subject: Re: JMeter 3.2 issue recording file upload

Am 26.07.2017 um 19:23 schrieb derek kelly:

> I'm not certain if this is truly a JMeter bug or an IIS/ASP bug.
>
> I'll give a brief description here, but I have loads of supporting
> info and files at
> https://stackoverflow.com/questions/45291222/jmeter-3-2-file-upload-hi
> tting-asp-net-as-null-file
>
> Using JMeter 3.2, Windows 10, IIS 10, ASP 4.5, Visual Studio 2015 (c#, MVC).
>
> Without running JMeter I can upload a file and the server receives it.  When I'm running JMeter (just recording) and I attempt to upload the file I get an error page because the function the runs when a file is upload got called, but the upload is "null".  So it doesn't see the file that it was supposed to get.
>
> I have a sample project with the sample site and a JMeter script that can easily be run between 2 windows machines.
>
> I'm hoping somebody has some insight into why that is happening and how to fix it.
Can you put the tcpdump that you showed in the link somewhere, so that we can have a look at? It would be best, if it would contain both streams (client<->jmeter and jmeter<->server). The webapp would not help me, as I don't have windows.

Felix

>
> Thanks,
> DKMan
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: JMeter 3.2 issue recording file upload

derek kelly
In reply to this post by Felix Schumacher
The only differences that I can see are:

JMeter adds "charset=US-ASCII" on the Content-Type

JMeter adds "Content-Transfer-Encoding: binary" only on playback

JMeter boundaries are 32 characters, and random

Manual/working boundaries are 40 characters and start with lots of dashes

The Wireshark captures show that JMeter posts of my sample file are always 4 frames.  around 650 bytes, 1450, 180, 38.  Where the end boundary is almost by itself in the last frame.  (from all of my fail captures that third frame is always 180, the others shift a bit)

The manual posts of my sample file are always 3 frames.  around 450, 1450, 370.

IMHO the charset and binary shouldn't matter.  I don't think frame count should matter.  But at this point I am reaching for straws as to why this doesn't work.  Could the boundary length really have something to do with it?

-----Original Message-----
From: Felix Schumacher [mailto:[hidden email]]
Sent: Wednesday, July 26, 2017 2:54 PM
To: [hidden email]
Subject: Re: JMeter 3.2 issue recording file upload

Am 26.07.2017 um 19:23 schrieb derek kelly:

> I'm not certain if this is truly a JMeter bug or an IIS/ASP bug.
>
> I'll give a brief description here, but I have loads of supporting
> info and files at
> https://stackoverflow.com/questions/45291222/jmeter-3-2-file-upload-hi
> tting-asp-net-as-null-file
>
> Using JMeter 3.2, Windows 10, IIS 10, ASP 4.5, Visual Studio 2015 (c#, MVC).
>
> Without running JMeter I can upload a file and the server receives it.  When I'm running JMeter (just recording) and I attempt to upload the file I get an error page because the function the runs when a file is upload got called, but the upload is "null".  So it doesn't see the file that it was supposed to get.
>
> I have a sample project with the sample site and a JMeter script that can easily be run between 2 windows machines.
>
> I'm hoping somebody has some insight into why that is happening and how to fix it.
Can you put the tcpdump that you showed in the link somewhere, so that we can have a look at? It would be best, if it would contain both streams (client<->jmeter and jmeter<->server). The webapp would not help me, as I don't have windows.

Felix

>
> Thanks,
> DKMan
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: JMeter 3.2 issue recording file upload

Felix Schumacher
Am 28.07.2017 um 15:30 schrieb derek kelly:

> The only differences that I can see are:
>
> JMeter adds "charset=US-ASCII" on the Content-Type
>
> JMeter adds "Content-Transfer-Encoding: binary" only on playback
>
> JMeter boundaries are 32 characters, and random
>
> Manual/working boundaries are 40 characters and start with lots of dashes
>
> The Wireshark captures show that JMeter posts of my sample file are always 4 frames.  around 650 bytes, 1450, 180, 38.  Where the end boundary is almost by itself in the last frame.  (from all of my fail captures that third frame is always 180, the others shift a bit)
>
> The manual posts of my sample file are always 3 frames.  around 450, 1450, 370.
>
> IMHO the charset and binary shouldn't matter.  I don't think frame count should matter.  But at this point I am reaching for straws as to why this doesn't work.  Could the boundary length really have something to do with it?
Well, it might have to do with using IIS and JMeter adding a charset to
multipart/form-data content type as reported at
https://github.com/akka/akka-http/issues/338 (note that is obviously not
JMeter, but IIS and charset  multipart combination).

Felix

>
> -----Original Message-----
> From: Felix Schumacher [mailto:[hidden email]]
> Sent: Wednesday, July 26, 2017 2:54 PM
> To: [hidden email]
> Subject: Re: JMeter 3.2 issue recording file upload
>
> Am 26.07.2017 um 19:23 schrieb derek kelly:
>> I'm not certain if this is truly a JMeter bug or an IIS/ASP bug.
>>
>> I'll give a brief description here, but I have loads of supporting
>> info and files at
>> https://stackoverflow.com/questions/45291222/jmeter-3-2-file-upload-hi
>> tting-asp-net-as-null-file
>>
>> Using JMeter 3.2, Windows 10, IIS 10, ASP 4.5, Visual Studio 2015 (c#, MVC).
>>
>> Without running JMeter I can upload a file and the server receives it.  When I'm running JMeter (just recording) and I attempt to upload the file I get an error page because the function the runs when a file is upload got called, but the upload is "null".  So it doesn't see the file that it was supposed to get.
>>
>> I have a sample project with the sample site and a JMeter script that can easily be run between 2 windows machines.
>>
>> I'm hoping somebody has some insight into why that is happening and how to fix it.
> Can you put the tcpdump that you showed in the link somewhere, so that we can have a look at? It would be best, if it would contain both streams (client<->jmeter and jmeter<->server). The webapp would not help me, as I don't have windows.
>
> Felix
>
>> Thanks,
>> DKMan
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: JMeter 3.2 issue recording file upload

Felix Schumacher
Am 05.08.2017 um 19:24 schrieb Felix Schumacher:

> Am 28.07.2017 um 15:30 schrieb derek kelly:
>> The only differences that I can see are:
>>
>> JMeter adds "charset=US-ASCII" on the Content-Type
>>
>> JMeter adds "Content-Transfer-Encoding: binary" only on playback
>>
>> JMeter boundaries are 32 characters, and random
>>
>> Manual/working boundaries are 40 characters and start with lots of
>> dashes
>>
>> The Wireshark captures show that JMeter posts of my sample file are
>> always 4 frames.  around 650 bytes, 1450, 180, 38.  Where the end
>> boundary is almost by itself in the last frame.  (from all of my fail
>> captures that third frame is always 180, the others shift a bit)
>>
>> The manual posts of my sample file are always 3 frames.  around 450,
>> 1450, 370.
>>
>> IMHO the charset and binary shouldn't matter.  I don't think frame
>> count should matter.  But at this point I am reaching for straws as
>> to why this doesn't work.  Could the boundary length really have
>> something to do with it?
> Well, it might have to do with using IIS and JMeter adding a charset
> to multipart/form-data content type as reported at
> https://github.com/akka/akka-http/issues/338 (note that is obviously
> not JMeter, but IIS and charset  multipart combination).

I have created a bugzilla entry:
https://bz.apache.org/bugzilla/show_bug.cgi?id=61384

Felix

>
> Felix
>>
>> -----Original Message-----
>> From: Felix Schumacher [mailto:[hidden email]]
>> Sent: Wednesday, July 26, 2017 2:54 PM
>> To: [hidden email]
>> Subject: Re: JMeter 3.2 issue recording file upload
>>
>> Am 26.07.2017 um 19:23 schrieb derek kelly:
>>> I'm not certain if this is truly a JMeter bug or an IIS/ASP bug.
>>>
>>> I'll give a brief description here, but I have loads of supporting
>>> info and files at
>>> https://stackoverflow.com/questions/45291222/jmeter-3-2-file-upload-hi
>>> tting-asp-net-as-null-file
>>>
>>> Using JMeter 3.2, Windows 10, IIS 10, ASP 4.5, Visual Studio 2015
>>> (c#, MVC).
>>>
>>> Without running JMeter I can upload a file and the server receives
>>> it.  When I'm running JMeter (just recording) and I attempt to
>>> upload the file I get an error page because the function the runs
>>> when a file is upload got called, but the upload is "null".  So it
>>> doesn't see the file that it was supposed to get.
>>>
>>> I have a sample project with the sample site and a JMeter script
>>> that can easily be run between 2 windows machines.
>>>
>>> I'm hoping somebody has some insight into why that is happening and
>>> how to fix it.
>> Can you put the tcpdump that you showed in the link somewhere, so
>> that we can have a look at? It would be best, if it would contain
>> both streams (client<->jmeter and jmeter<->server). The webapp would
>> not help me, as I don't have windows.
>>
>> Felix
>>
>>> Thanks,
>>> DKMan
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]