New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTP Raw option on win64 doubles amount of data when used with HTTP Chunks #2303
Comments
Can you please upload LineCounts.txt |
A sorry for that! According to Notepad++ this file is UTF-8 without a Byte Order Mark (BOM). |
If you use To me this looks like your server sends curl something weird. What does curl say on this response when you don't use |
Curl version 7.53.1 is not having this issue:
|
Now the dump/trace files for both chunked and no chunks: Using cURL on Windows 7.58.0 as before! |
hm something is up. i'll bisect it |
For clarification: |
For anybody interested:
Difference in file sizes between cURL version 7.53.1 and 7.58.0 on Win64:
|
It looks to be a version thing: cURL 7.58.0 builded on my macbook has te same issue.
Diff on trace files:
Notice the TCP_NODELAY difference! But when I explicitly set
for both raw output I still have double for v7.58.0. Trace files: |
|
Tested some older versions and found the version in which its different:
Source compare and Github blame comes up with: Good luck in fixing! |
My bad: bug introduced in commit dbcced8. |
…DING on Bug: #2303 Reported-By: Henry Roeland
Commit 155ea88 in master should fix the issue. |
Works here. |
Thanks for testing ! |
Can any of you think of a test we could create that would've caught this? |
I will try to create one. |
Test: Question: Building v7.58.0 from cloned master on my mac showed me:
So on Mac its fine. Unfortunately I don't have time to rebuild it on Win64 but I think this is not really necessary to check it there. Thanks guys for the quick actions and feedback! Kind regards, |
No. --raw disables all decoding. In this case you have included the http headers in the response (-i) so those come first, then the chunked encoding is not being decoded so the contents will be the hex value of each chunk and then the chunk, and finally a chunk of 0 (assuming the transfer completed).
I checked Win64 and it works there. Thanks for your report and all your follow-ups.
curl has unit tests and also full tests using the curl tool, which also tests libcurl and I guess you could refer to as system testing. integration testing depends how you define it. the tests are not combined, they are run sequentially. if some scenario needs to be varied in most cases there's a libcurl test with an ifdef guard separating the two tests or just a separate test. |
I did this
I'm investigating HTTP Chunked vs No Chunks using NancyFX 2.0 / Kestrel Web Server. During this investigation I noticed big file differences when using cURL Raw option. The output both for binary and text doubles in size when using cURL on Win64 in combination with HTTP Chunking.
When I use cURL on my macbook to the same server url I get the expected size and result.
I expected the following
Same result on Win64 as on my Macbook!
curl/libcurl version
curl/7.58.0 WRONG (Win64)
curl/7.43.0 GOOD (Mac High Sierra)
[curl -V output]
On my macbook where it works as expected:
On my Windows 10 64 bits
hp probook where it does not work as expected:**
operating system
Problem showed up on Windows 10 - 64 bits on my HP Probook.
Attached 4 files zipped showing the problem when you diff them:
cURL_Raw_Chunked_vs_NotChunked.zip
I'm not that in to network related stuff so it could be I'm doing something wrong. But the difference in file size is strange.
Kind regards,
Henry Roeland
The text was updated successfully, but these errors were encountered: