You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
sometimes transfers timeout earlier than CURLOPT_CONNECTTIMEOUT #3602
used curl_multi interface in php to test about 400 proxies at the same time with a CURLOPT_CONNECTTIMEOUT set 30, however sometimes the later requests (about 150 from 400) all outputs "Connection time-out" and the total_time is very small (about 0.002 s)!
this is a question on stackoverflow.com
and this is a php class that tests this behaviour CurlMultiTimeoutBugTester
This is a sample output from the tester, please notice the later requests
I expected the following
every request takes his chance and tries to connect for 30 seconds then outputs "Connection timed out after 30005 milliseconds" and total_time is 30 seconds or succeed
changed the title [-]sometimes later requests in curl_multi timeout very small than CURLOPT_CONNECTTIMEOUT[/-][+]sometimes transfers timeout earlier than CURLOPT_CONNECTTIMEOUT[/+]on Feb 22, 2019
I'm afraid the amount of PHP code plus PHP binding layering here is a bit too thick for me to tell exactly what's going on or where exactly the issue lies. We need this example converted to plain C so that we can check exactly what's going on and why. It seems odd that this issue should suddenly start to appear after a certain amount of parallel transfers. Is it out of sockets somehow? If you limit this program to only test for 100 proxies, does then always work correctly?
I did about 100 tests and the bug appeared in about 20 tests of them (I did the tests on both a production server Linux centos, and laptop Linux fedora)
regarding the sockets question, I don't know if they out of sockets or not, I just use the php curl_* functions, and I don't know what are they doing behind the scenes.
I also noted something. The reports that don't have the issue are having a normal total_time from the very FIRST request (e.g 1.999564 seconds while the CURLOPT_CONNECTTIMEOUT is 2 seconds ), and the reports with the issue are having late total_time from the very FIRST request (e.g 3.020935 seconds while the CURLOPT_CONNECTTIMEOUT is 2 seconds)
I don't know C but I will download a C compiler and an IDE and will try my best to write this example in plain C.
Thank you very much Daniel for your effort and time in cURL which is almost the only reliable solution for PHP developers for making parallel http requests
I tested on my laptop a fedora with curl 7.59.0 and the same issue happened in the 2 tests, I will try to run the same code on my cantos production server curl 7.64.0, it has much more resources(CPU and internet connection ) than my laptop and tell you the results, if you want me to record my screen while doing the tests, just tell me. This is the output in the terminal
The Second Test result
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
returned: 7 - Failed to connect to 83.239.97.26 port 50223: Connection refused time:0.231454
returned: 7 - Failed to connect to 85.52.217.114 port 42544: Connection refused time:0.231213
returned: 7 - Failed to connect to 85.193.216.85 port 59205: Connection refused time:0.231104
returned: 7 - Failed to connect to 85.193.229.6 port 57712: Connection refused time:0.231026
returned: 7 - Failed to connect to 78.128.124.9 port 47654: No route to host time:0.229756
returned: 7 - Failed to connect to 78.187.50.200 port 30852: Connection refused time:0.229622
returned: 7 - Failed to connect to 80.249.229.64 port 42186: Connection refused time:0.229047
returned: 7 - Failed to connect to 81.16.10.141 port 59352: Connection refused time:0.228993
returned: 7 - Failed to connect to 81.163.62.221 port 31299: Connection refused time:0.228936
returned: 56 - Received HTTP code 503 from proxy after CONNECT time:1.781811
returned: 7 - Failed to connect to 83.13.63.38 port 60860: Connection refused time:0.228710
returned: 56 - Proxy CONNECT aborted time:1.781721
returned: 7 - Failed to connect to 46.151.108.6 port 33727: Connection refused time:0.228485
returned: 7 - Failed to connect to 46.164.149.40 port 36551: Connection refused time:0.228429
returned: 7 - Failed to connect to 51.254.182.52 port 61133: Connection refused time:0.227951
returned: 56 - Proxy CONNECT aborted time:2.474736
returned: 7 - Failed to connect to 65.173.110.238 port 37252: Connection refused time:0.227615
returned: 7 - Failed to connect to 41.78.172.20 port 61169: Connection refused time:0.227199
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.227029
returned: 28 - Connection time-out time:0.226973
returned: 28 - Connection time-out time:0.226918
returned: 28 - Connection time-out time:0.226861
returned: 28 - Connection time-out time:0.226806
returned: 28 - Connection time-out time:0.226747
returned: 28 - Connection time-out time:0.226692
returned: 28 - Connection time-out time:0.226637
returned: 28 - Connection time-out time:0.226581
returned: 28 - Connection time-out time:0.226522
returned: 28 - Connection time-out time:0.226459
returned: 28 - Connection time-out time:0.226383
returned: 28 - Connection time-out time:0.226324
returned: 28 - Connection time-out time:0.226260
returned: 28 - Connection time-out time:0.226197
returned: 28 - Connection time-out time:0.226143
returned: 28 - Connection time-out time:0.226086
returned: 28 - Connection time-out time:0.226029
returned: 28 - Connection time-out time:0.225971
returned: 28 - Connection time-out time:0.225915
returned: 28 - Connection time-out time:0.225858
returned: 28 - Connection time-out time:0.225722
returned: 28 - Connection time-out time:0.225665
returned: 28 - Connection time-out time:0.225607
returned: 28 - Connection time-out time:0.225552
returned: 28 - Connection time-out time:0.225497
returned: 28 - Connection time-out time:0.225422
returned: 28 - Connection time-out time:0.225354
returned: 28 - Connection time-out time:0.225296
returned: 28 - Connection time-out time:0.225238
returned: 28 - Connection time-out time:0.225182
returned: 28 - Connection time-out time:0.225126
returned: 28 - Connection time-out time:0.225067
returned: 28 - Connection time-out time:0.225013
returned: 28 - Connection time-out time:0.224956
returned: 28 - Connection time-out time:0.224899
returned: 28 - Connection time-out time:0.224843
returned: 28 - Connection time-out time:0.224784
returned: 28 - Connection time-out time:0.224728
returned: 28 - Connection time-out time:0.224672
returned: 28 - Connection time-out time:0.224607
returned: 28 - Connection time-out time:0.224545
returned: 28 - Connection time-out time:0.224481
returned: 28 - Connection time-out time:0.224420
returned: 28 - Connection time-out time:0.224364
returned: 7 - Failed to connect to 95.79.54.143 port 80: Connection refused time:0.224306
returned: 7 - Failed to connect to 95.87.127.133 port 50594: Connection refused time:0.224246
returned: 7 - Failed to connect to 95.140.27.135 port 60275: Connection refused time:0.224191
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998953
returned: 7 - Failed to connect to 96.9.69.230 port 53281: No route to host time:0.224073
returned: 7 - Failed to connect to 96.9.73.79 port 61057: Connection refused time:0.224011
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998958
returned: 7 - Failed to connect to 101.109.255.243 port 50098: Connection refused time:0.223900
returned: 7 - Failed to connect to 101.255.124.202 port 42608: Connection refused time:0.223845
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.223730
returned: 28 - Connection time-out time:0.223673
returned: 28 - Connection time-out time:0.223617
returned: 28 - Connection time-out time:0.223561
returned: 28 - Connection time-out time:0.223467
returned: 28 - Connection time-out time:0.223402
returned: 28 - Connection time-out time:0.223342
returned: 28 - Connection time-out time:0.223274
returned: 28 - Connection time-out time:0.223215
returned: 28 - Connection time-out time:0.223153
returned: 28 - Connection time-out time:0.223096
returned: 28 - Connection time-out time:0.223039
returned: 28 - Connection time-out time:0.222971
returned: 28 - Connection time-out time:0.222914
returned: 28 - Connection time-out time:0.222854
returned: 28 - Connection time-out time:0.222800
returned: 28 - Connection time-out time:0.222738
returned: 28 - Connection time-out time:0.222683
returned: 28 - Connection time-out time:0.222624
returned: 28 - Connection time-out time:0.222549
returned: 28 - Connection time-out time:0.222484
returned: 28 - Connection time-out time:0.222428
returned: 28 - Connection time-out time:0.222371
returned: 28 - Connection time-out time:0.222312
returned: 28 - Connection time-out time:0.222258
returned: 28 - Connection time-out time:0.222202
returned: 28 - Connection time-out time:0.222146
returned: 7 - Failed to connect to 103.115.100.246 port 47788: Connection refused time:0.222089
returned: 7 - Failed to connect to 103.192.169.186 port 35865: Connection refused time:0.222033
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.221974
returned: 28 - Connection time-out time:0.221916
returned: 28 - Connection time-out time:0.221858
returned: 28 - Connection time-out time:0.221707
returned: 28 - Connection time-out time:0.221633
returned: 28 - Connection time-out time:0.221559
returned: 28 - Connection time-out time:0.221500
returned: 28 - Connection time-out time:0.221437
returned: 28 - Connection time-out time:0.221378
returned: 28 - Connection time-out time:0.221321
returned: 28 - Connection time-out time:0.221254
returned: 28 - Connection time-out time:0.221193
returned: 28 - Connection time-out time:0.221133
returned: 28 - Connection time-out time:0.221078
returned: 28 - Connection time-out time:0.221020
returned: 28 - Connection time-out time:0.220964
returned: 28 - Connection time-out time:0.220899
returned: 28 - Connection time-out time:0.220812
returned: 28 - Connection time-out time:0.220732
returned: 28 - Connection time-out time:0.220632
returned: 28 - Connection time-out time:0.220550
returned: 28 - Connection time-out time:0.220467
returned: 28 - Connection time-out time:0.220407
returned: 28 - Connection time-out time:0.220352
returned: 28 - Connection time-out time:0.220294
returned: 7 - Failed to connect to 1.20.97.166 port 32588: Connection refused time:0.220236
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998930
returned: 7 - Failed to connect to 1.20.99.185 port 44450: Connection refused time:0.220113
returned: 7 - Failed to connect to 1.20.100.42 port 47962: Connection refused time:0.220053
returned: 7 - Failed to connect to 12.189.124.100 port 44791: Connection refused time:0.219459
returned: 7 - Failed to connect to 18.228.217.208 port 80: Connection refused time:0.219224
returned: 7 - Failed to connect to 24.172.34.114 port 52143: Connection refused time:0.219168
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.219107
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.218934
returned: 28 - Connection time-out time:0.218875
returned: 28 - Connection time-out time:0.218815
returned: 28 - Connection time-out time:0.218734
returned: 28 - Connection time-out time:0.218676
returned: 28 - Connection time-out time:0.218619
returned: 28 - Connection time-out time:0.218561
returned: 28 - Connection time-out time:0.218401
returned: 28 - Connection time-out time:0.218343
returned: 7 - Failed to connect to 111.92.243.154 port 37539: Connection refused time:0.218285
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998973
returned: 7 - Failed to connect to 113.53.83.157 port 35969: Connection refused time:0.218171
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.218111
returned: 28 - Connection time-out time:0.218056
returned: 28 - Connection time-out time:0.217999
returned: 28 - Connection time-out time:0.217943
returned: 28 - Connection time-out time:0.217879
returned: 28 - Connection time-out time:0.217802
returned: 28 - Connection time-out time:0.217721
returned: 28 - Connection time-out time:0.217659
returned: 28 - Connection time-out time:0.217600
returned: 28 - Connection time-out time:0.217541
returned: 28 - Connection time-out time:0.217487
returned: 28 - Connection time-out time:0.217428
returned: 28 - Connection time-out time:0.217371
returned: 28 - Connection time-out time:0.217312
returned: 28 - Connection time-out time:0.217254
returned: 28 - Connection time-out time:0.217197
returned: 28 - Connection time-out time:0.217142
returned: 28 - Connection time-out time:0.217083
returned: 28 - Connection time-out time:0.217017
returned: 28 - Connection time-out time:0.216952
returned: 28 - Connection time-out time:0.216895
returned: 28 - Connection time-out time:0.216825
returned: 28 - Connection time-out time:0.216765
returned: 28 - Connection time-out time:0.216696
returned: 28 - Connection time-out time:0.216639
returned: 28 - Connection time-out time:0.216581
returned: 28 - Connection time-out time:0.216525
returned: 7 - Failed to connect to 125.209.108.26 port 53126: Connection refused time:0.216464
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998957
returned: 7 - Failed to connect to 131.108.63.213 port 57604: No route to host time:0.216169
returned: 7 - Failed to connect to 134.0.16.6 port 47631: Connection refused time:0.216043
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.215986
returned: 28 - Connection time-out time:0.215926
returned: 28 - Connection time-out time:0.215856
returned: 28 - Connection time-out time:0.215796
returned: 28 - Connection time-out time:0.215740
returned: 28 - Connection time-out time:0.215683
returned: 28 - Connection time-out time:0.215616
returned: 28 - Connection time-out time:0.215560
returned: 28 - Connection time-out time:0.215502
returned: 28 - Connection time-out time:0.215440
returned: 28 - Connection time-out time:0.215384
returned: 28 - Connection time-out time:0.215321
returned: 28 - Connection time-out time:0.215257
returned: 28 - Connection time-out time:0.215199
returned: 28 - Connection time-out time:0.215136
returned: 28 - Connection time-out time:0.215076
returned: 28 - Connection time-out time:0.215021
returned: 28 - Connection time-out time:0.214952
returned: 28 - Connection time-out time:0.214886
returned: 28 - Connection time-out time:0.214826
returned: 28 - Connection time-out time:0.214764
returned: 28 - Connection time-out time:0.214706
returned: 28 - Connection time-out time:0.214649
returned: 28 - Connection time-out time:0.214592
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.214467
returned: 28 - Connection time-out time:0.214420
returned: 28 - Connection time-out time:0.214366
returned: 28 - Connection time-out time:0.214313
returned: 28 - Connection time-out time:0.214248
returned: 28 - Connection time-out time:0.214194
returned: 28 - Connection time-out time:0.214140
returned: 28 - Connection time-out time:0.214085
returned: 28 - Connection time-out time:0.214013
returned: 28 - Connection time-out time:0.213940
returned: 28 - Connection time-out time:0.213881
returned: 28 - Connection time-out time:0.213826
returned: 28 - Connection time-out time:0.213772
returned: 28 - Connection time-out time:0.213714
returned: 28 - Connection time-out time:0.213662
returned: 28 - Connection time-out time:0.213595
returned: 28 - Connection time-out time:0.213541
returned: 28 - Connection time-out time:0.213485
returned: 28 - Connection time-out time:0.213430
returned: 28 - Connection time-out time:0.213371
returned: 28 - Connection time-out time:0.213316
returned: 28 - Connection time-out time:0.213255
returned: 28 - Connection time-out time:0.213197
returned: 28 - Connection time-out time:0.213144
returned: 28 - Connection time-out time:0.213090
returned: 28 - Connection time-out time:0.213024
returned: 28 - Connection time-out time:0.212968
returned: 28 - Connection time-out time:0.212894
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998988
returned: 28 - Connection time-out time:0.212786
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998977
returned: 56 - Proxy CONNECT aborted time:2.998915
returned: 7 - Failed to connect to 180.247.199.128 port 8080: Connection refused time:0.212449
returned: 7 - Failed to connect to 182.16.163.138 port 8080: Connection refused time:0.211957
returned: 56 - Proxy CONNECT aborted time:2.998403
returned: 7 - Failed to connect to 182.53.206.40 port 52214: Connection refused time:0.211751
returned: 7 - Failed to connect to 182.75.21.30 port 46527: Connection refused time:0.211696
returned: 7 - Failed to connect to 182.253.201.10 port 36776: Connection refused time:0.211638
returned: 7 - Failed to connect to 185.136.151.20 port 58371: No route to host time:0.211217
returned: 7 - Failed to connect to 185.194.24.187 port 37854: No route to host time:0.211080
returned: 56 - Proxy CONNECT aborted time:2.997658
returned: 7 - Failed to connect to 187.111.192.142 port 30485: Connection refused time:0.210794
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.210737
returned: 28 - Connection time-out time:0.210679
returned: 28 - Connection time-out time:0.210621
returned: 28 - Connection time-out time:0.210565
returned: 28 - Connection time-out time:0.210500
returned: 28 - Connection time-out time:0.210441
returned: 28 - Connection time-out time:0.210383
returned: 28 - Connection time-out time:0.210324
returned: 28 - Connection time-out time:0.210267
returned: 28 - Connection time-out time:0.210183
returned: 28 - Connection time-out time:0.210119
returned: 28 - Connection time-out time:0.209971
returned: 28 - Connection time-out time:0.209910
returned: 28 - Connection time-out time:0.209854
returned: 28 - Connection time-out time:0.209791
returned: 28 - Connection time-out time:0.209736
returned: 28 - Connection time-out time:0.209678
returned: 28 - Proxy CONNECT aborted due to timeout time:2.998994
returned: 28 - Connection time-out time:0.209565
returned: 7 - Failed to connect to 195.39.71.252 port 56935: No route to host time:0.209494
returned: 56 - Proxy CONNECT aborted time:2.998923
returned: 7 - Failed to connect to 195.239.178.110 port 40448: Connection refused time:0.209318
returned: 7 - Failed to connect to 196.32.109.73 port 56930: Connection refused time:0.208875
returned: 7 - Failed to connect to 196.38.8.91 port 8080: Connection refused time:0.208817
returned: 7 - Failed to connect to 197.98.180.162 port 61047: Connection refused time:0.208695
returned: 7 - Failed to connect to 197.232.55.224 port 39385: Connection refused time:0.208632
returned: 56 - Proxy CONNECT aborted time:2.998258
returned: 7 - Failed to connect to 197.248.224.242 port 80: Connection refused time:0.208516
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.208458
returned: 28 - Connection time-out time:0.208397
returned: 28 - Connection time-out time:0.208340
returned: 28 - Connection time-out time:0.208275
returned: 28 - Connection time-out time:0.208217
returned: 28 - Connection time-out time:0.208158
returned: 28 - Connection time-out time:0.208103
returned: 28 - Connection time-out time:0.208047
returned: 7 - Failed to connect to 202.3.72.6 port 38725: Connection refused time:0.207987
returned: 7 - Failed to connect to 202.49.183.168 port 30309: Connection refused time:0.207932
returned: 7 - Failed to receive SOCKS4 connect request ack. time:0.207857
returned: 28 - Connection time-out time:0.207803
returned: 28 - Connection time-out time:0.207745
returned: 28 - Connection time-out time:0.207690
returned: 28 - Connection time-out time:0.207633
returned: 28 - Connection time-out time:0.207573
returned: 28 - Connection time-out time:0.207512
returned: 28 - Connection time-out time:0.207454
returned: 28 - Connection time-out time:0.207395
returned: 28 - Connection time-out time:0.207318
returned: 28 - Connection time-out time:0.207252
returned: 28 - Connection time-out time:0.207194
returned: 28 - Connection time-out time:0.207135
returned: 28 - Connection time-out time:0.207080
returned: 28 - Connection time-out time:0.207018
returned: 28 - Connection time-out time:0.206960
returned: 28 - Connection time-out time:0.206902
returned: 28 - Connection time-out time:0.206846
returned: 28 - Connection time-out time:0.206783
returned: 28 - Connection time-out time:0.206726
returned: 28 - Connection time-out time:0.206669
returned: 28 - Connection time-out time:0.206614
returned: 28 - Connection time-out time:0.206561
returned: 28 - Connection time-out time:0.206503
Perform 102 parallel transfers
returned: 28 - Connection timed out after 3031 milliseconds time:3.031532
returned: 28 - Connection timed out after 3031 milliseconds time:3.031229
returned: 28 - Connection timed out after 3030 milliseconds time:3.031067
returned: 28 - Operation timed out after 3030 milliseconds with 0 out of 0 bytes received time:3.030905
returned: 28 - Connection timed out after 3030 milliseconds time:3.030608
returned: 28 - Connection timed out after 3030 milliseconds time:3.030560
returned: 28 - Connection timed out after 3030 milliseconds time:3.030488
returned: 28 - Connection timed out after 3030 milliseconds time:3.030433
returned: 28 - Operation timed out after 3030 milliseconds with 0 out of 0 bytes received time:3.030386
returned: 28 - Operation timed out after 3029 milliseconds with 0 out of 0 bytes received time:3.030431
returned: 28 - Connection timed out after 3029 milliseconds time:3.030391
returned: 28 - Connection timed out after 3029 milliseconds time:3.030231
returned: 28 - Connection timed out after 3029 milliseconds time:3.030134
returned: 28 - Connection timed out after 3029 milliseconds time:3.030063
returned: 28 - Operation timed out after 3029 milliseconds with 0 out of 0 bytes received time:3.030000
returned: 28 - Operation timed out after 3029 milliseconds with 0 out of 0 bytes received time:3.030929
returned: 28 - Connection timed out after 3029 milliseconds time:3.030920
returned: 28 - Connection timed out after 3029 milliseconds time:3.030890
returned: 28 - Operation timed out after 3029 milliseconds with 0 out of 0 bytes received time:3.030795
returned: 28 - Operation timed out after 3028 milliseconds with 0 out of 0 bytes received time:3.030691
returned: 28 - Connection timed out after 3028 milliseconds time:3.030651
returned: 28 - Connection timed out after 3028 milliseconds time:3.030599
returned: 28 - Connection timed out after 3028 milliseconds time:3.030562
returned: 28 - Operation timed out after 3028 milliseconds with 0 out of 0 bytes received time:3.030523
returned: 28 - Operation timed out after 3028 milliseconds with 0 out of 0 bytes received time:3.031417
returned: 28 - Connection timed out after 3028 milliseconds time:3.032299
returned: 28 - Connection timed out after 3028 milliseconds time:3.032282
returned: 28 - Connection timed out after 3028 milliseconds time:3.032008
returned: 28 - Operation timed out after 3028 milliseconds with 0 out of 0 bytes received time:3.031968
returned: 28 - Connection timed out after 3028 milliseconds time:3.031888
returned: 28 - Connection timed out after 3027 milliseconds time:3.031791
returned: 28 - Operation timed out after 3027 milliseconds with 0 out of 0 bytes received time:3.031621
returned: 28 - Operation timed out after 3027 milliseconds with 0 out of 0 bytes received time:3.031474
returned: 28 - Operation timed out after 3027 milliseconds with 0 out of 0 bytes received time:3.032432
returned: 28 - Operation timed out after 3027 milliseconds with 0 out of 0 bytes received time:3.033476
returned: 28 - Operation timed out after 3027 milliseconds with 0 out of 0 bytes received time:3.034504
returned: 28 - Connection timed out after 3027 milliseconds time:3.034445
returned: 28 - Connection timed out after 3027 milliseconds time:3.034376
returned: 28 - Connection timed out after 3026 milliseconds time:3.034275
returned: 28 - Operation timed out after 3026 milliseconds with 0 out of 0 bytes received time:3.034176
returned: 28 - Operation timed out after 3026 milliseconds with 0 out of 0 bytes received time:3.034162
returned: 28 - Operation timed out after 3026 milliseconds with 0 out of 0 bytes received time:3.034147
returned: 28 - Operation timed out after 3026 milliseconds with 0 out of 0 bytes received time:3.034120
returned: 28 - Connection timed out after 3026 milliseconds time:3.037546
returned: 28 - Operation timed out after 3026 milliseconds with 0 out of 0 bytes received time:3.037588
returned: 28 - Operation timed out after 3026 milliseconds with 0 out of 0 bytes received time:3.038710
returned: 28 - Connection timed out after 3026 milliseconds time:3.038711
returned: 28 - Connection timed out after 3022 milliseconds time:3.035311
returned: 28 - Connection timed out after 3018 milliseconds time:3.031357
returned: 28 - Operation timed out after 3018 milliseconds with 0 out of 0 bytes received time:3.031299
returned: 28 - Operation timed out after 3018 milliseconds with 0 out of 0 bytes received time:3.031277
returned: 28 - Connection timed out after 3018 milliseconds time:3.031250
returned: 28 - Connection timed out after 3018 milliseconds time:3.031215
returned: 28 - Operation timed out after 3018 milliseconds with 0 out of 0 bytes received time:3.031135
returned: 28 - Operation timed out after 3018 milliseconds with 0 out of 0 bytes received time:3.031103
returned: 28 - Operation timed out after 3018 milliseconds with 0 out of 0 bytes received time:3.031187
returned: 28 - Operation timed out after 3018 milliseconds with 0 out of 0 bytes received time:3.031099
returned: 28 - Connection timed out after 3018 milliseconds time:3.031075
returned: 28 - Operation timed out after 3018 milliseconds with 0 out of 0 bytes received time:3.031035
returned: 28 - Operation timed out after 3017 milliseconds with 0 out of 0 bytes received time:3.030822
returned: 28 - Connection timed out after 3017 milliseconds time:3.030797
returned: 28 - Connection timed out after 3015 milliseconds time:3.028053
returned: 28 - Connection timed out after 3015 milliseconds time:3.028012
returned: 28 - Connection timed out after 3014 milliseconds time:3.027971
returned: 28 - Operation timed out after 3014 milliseconds with 0 out of 0 bytes received time:3.027855
returned: 28 - Connection timed out after 3013 milliseconds time:3.026234
returned: 28 - Operation timed out after 3011 milliseconds with 0 out of 0 bytes received time:3.024291
returned: 28 - Connection timed out after 3011 milliseconds time:3.024270
returned: 28 - Operation timed out after 3011 milliseconds with 0 out of 0 bytes received time:3.024179
returned: 28 - Connection timed out after 3010 milliseconds time:3.024104
returned: 28 - Connection timed out after 3010 milliseconds time:3.024078
returned: 28 - Connection timed out after 3010 milliseconds time:3.024041
returned: 28 - Connection timed out after 3010 milliseconds time:3.024005
returned: 28 - Connection timed out after 3010 milliseconds time:3.023964
returned: 28 - Connection timed out after 3010 milliseconds time:3.023912
returned: 28 - Operation timed out after 3010 milliseconds with 0 out of 0 bytes received time:3.023856
returned: 28 - Connection timed out after 3010 milliseconds time:3.023658
returned: 28 - Connection timed out after 3010 milliseconds time:3.023473
returned: 28 - Connection timed out after 3010 milliseconds time:3.023427
returned: 28 - Connection timed out after 3009 milliseconds time:3.023387
returned: 28 - Connection timed out after 3009 milliseconds time:3.023348
returned: 28 - Operation timed out after 3009 milliseconds with 0 out of 0 bytes received time:3.023306
returned: 28 - Operation timed out after 3009 milliseconds with 0 out of 0 bytes received time:3.023269
returned: 28 - Connection timed out after 3009 milliseconds time:3.023173
returned: 28 - Connection timed out after 3009 milliseconds time:3.023065
returned: 28 - Connection timed out after 3009 milliseconds time:3.023022
returned: 28 - Connection timed out after 3009 milliseconds time:3.022925
returned: 28 - Connection timed out after 3007 milliseconds time:3.021473
returned: 28 - Connection timed out after 3007 milliseconds time:3.021295
returned: 28 - Connection timed out after 3007 milliseconds time:3.021234
returned: 28 - Connection timed out after 3007 milliseconds time:3.021192
returned: 28 - Connection timed out after 3007 milliseconds time:3.021163
returned: 28 - Connection timed out after 3007 milliseconds time:3.021131
returned: 28 - Connection timed out after 3007 milliseconds time:3.021088
returned: 28 - Connection timed out after 3007 milliseconds time:3.020924
Perform 7 parallel transfers
Perform 7 parallel transfers
Perform 7 parallel transfers
Perform 7 parallel transfers
returned: 7 - Failed to connect to 217.113.17.226 port 50948: Connection refused time:0.200511
Perform 6 parallel transfers
returned: 7 - Failed to connect to 213.6.199.94 port 41320: Connection refused time:0.211043
returned: 7 - Failed to connect to 213.87.42.53 port 40367: No route to host time:0.210922
Perform 4 parallel transfers
returned: 7 - Failed to connect to 221.120.163.242 port 56969: Connection refused time:0.450393
Perform 3 parallel transfers
Perform 3 parallel transfers
Perform 3 parallel transfers
Perform 3 parallel transfers
Perform 3 parallel transfers
<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
body {
background-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
div {
width: 600px;
margin: 5em auto;
padding: 50px;
background-color: #fff;
border-radius: 1em;
}
a:link, a:visited {
color: #38488f;
text-decoration: none;
}
@media (max-width: 700px) {
body {
background-color: #fff;
}
div {
width: auto;
margin: 0 auto;
border-radius: 0;
padding: 1em;
}
}
</style>
</head>
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is established to be used for illustrative examples in documents. You may use this
domain in examples without prior coordination or asking for permission.</p>
<p><a href="http://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>
Perform 2 parallel transfers
Perform 2 parallel transfers
returned: 28 - Connection timed out after 3001 milliseconds time:3.001430
returned: 28 - Connection timed out after 3000 milliseconds time:3.000816
The First Test Result
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
Perform 400 parallel transfers
returned: 7 - Failed to connect to 85.52.217.114 port 42544: Connection refused
returned: 7 - Failed to connect to 85.193.216.85 port 59205: Connection refused
Perform 400 parallel transfers
returned: 7 - Failed to connect to 83.239.97.26 port 50223: Connection refused
returned: 7 - Failed to connect to 85.193.229.6 port 57712: Connection refused
returned: 7 - Failed to connect to 80.249.229.64 port 42186: Connection refused
returned: 7 - Failed to connect to 81.16.10.141 port 59352: Connection refused
returned: 7 - Failed to connect to 83.13.63.38 port 60860: Connection refused
returned: 7 - Failed to connect to 51.254.182.52 port 61133: Connection refused
Perform 399 parallel transfers
returned: 7 - Failed to connect to 83.219.1.80 port 56004: Connection refused
Perform 398 parallel transfers
Perform 398 parallel transfers
returned: 7 - Failed to connect to 89.189.189.115 port 59249: Connection refused
returned: 7 - Failed to connect to 78.187.50.200 port 30852: Connection refused
returned: 7 - Failed to connect to 81.163.62.221 port 31299: Connection refused
returned: 7 - Failed to connect to 46.151.108.6 port 33727: Connection refused
returned: 7 - Failed to connect to 46.164.149.40 port 36551: Connection refused
returned: 7 - Failed to connect to 91.214.240.19 port 50481: Connection refused
returned: 7 - Failed to connect to 91.230.199.174 port 60926: Connection refused
returned: 7 - Failed to connect to 92.246.220.206 port 40396: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 93.87.66.66 port 61831: Connection refused
returned: 7 - Failed to connect to 93.116.57.4 port 55674: Connection refused
returned: 7 - Failed to connect to 93.177.150.112 port 45186: Connection refused
returned: 7 - Failed to connect to 94.102.124.207 port 35836: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 94.180.245.1 port 61251: Connection refused
returned: 7 - Failed to connect to 94.228.21.66 port 55295: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Proxy CONNECT aborted due to timeout
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 12.189.124.100 port 44791: Connection refused
returned: 7 - Failed to connect to 18.228.217.208 port 80: Connection refused
returned: 7 - Failed to connect to 24.172.34.114 port 52143: Connection refused
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 7 - Failed to connect to 118.173.232.43 port 48204: Connection refused
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 7 - Failed to connect to 118.174.234.129 port 54431: Connection refused
returned: 7 - Failed to connect to 118.175.93.28 port 61285: Connection refused
returned: 7 - Failed to connect to 118.175.93.164 port 37694: Connection refused
returned: 7 - Failed to connect to 118.179.69.233 port 44505: Connection refused
returned: 7 - Failed to connect to 118.179.84.106 port 34236: Connection refused
returned: 7 - Failed to connect to 119.82.253.155 port 37436: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 122.102.41.82 port 56067: Connection refused
returned: 7 - Failed to connect to 122.176.65.143 port 42175: Connection refused
returned: 7 - Failed to connect to 124.41.211.213 port 54986: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 125.27.251.208 port 30753: Connection refused
returned: 7 - Failed to connect to 125.209.108.26 port 53126: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Proxy CONNECT aborted due to timeout
returned: 28 - Proxy CONNECT aborted due to timeout
returned: 7 - Failed to connect to 163.53.150.230 port 30195: Connection refused
returned: 7 - Failed to connect to 163.53.182.148 port 39486: Connection refused
returned: 7 - Failed to connect to 165.90.211.69 port 61692: No route to host
returned: 7 - Failed to connect to 166.249.54.244 port 55867: Connection refused
returned: 7 - Failed to connect to 168.181.121.195 port 51514: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 169.255.67.244 port 37804: Connection refused
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 176.98.75.120 port 45259: Connection refused
returned: 7 - Failed to connect to 176.98.76.210 port 45280: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 176.111.10.136 port 46560: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 56 - Proxy CONNECT aborted
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 177.75.143.198 port 43223: Connection refused
returned: 7 - Failed to connect to 177.220.171.54 port 60729: Connection refused
returned: 7 - Failed to connect to 177.223.52.242 port 42363: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 178.75.58.58 port 41514: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 180.247.199.128 port 8080: Connection refused
returned: 7 - Failed to connect to 182.16.163.138 port 8080: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to connect to 182.53.206.40 port 52214: Connection refused
returned: 7 - Failed to connect to 182.75.21.30 port 46527: Connection refused
returned: 7 - Failed to connect to 182.253.201.10 port 36776: Connection refused
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 7 - Failed to connect to 187.111.192.142 port 30485: Connection refused
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 7 - Failed to connect to 188.130.240.17 port 52343: Connection refused
returned: 56 - Proxy CONNECT aborted
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 7 - Failed to connect to 196.32.109.73 port 56930: Connection refused
returned: 7 - Failed to connect to 196.38.8.91 port 8080: Connection refused
returned: 7 - Failed to connect to 197.98.180.162 port 61047: Connection refused
returned: 7 - Failed to connect to 197.232.55.224 port 39385: Connection refused
returned: 7 - Failed to connect to 197.248.224.242 port 80: Connection refused
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 28 - Connection time-out
returned: 7 - Failed to connect to 206.189.137.227 port 3128: Connection refused
returned: 7 - Failed to connect to 212.28.237.131 port 59588: Connection refused
returned: 7 - Failed to connect to 213.6.199.94 port 41320: Connection refused
returned: 7 - Failed to connect to 213.87.42.53 port 40367: No route to host
returned: 7 - Failed to receive SOCKS4 connect request ack.
returned: 28 - Connection time-out
returned: 28 - Connection time-out
Perform 139 parallel transfers
returned: 28 - Connection timed out after 3252 milliseconds
returned: 28 - Connection timed out after 3252 milliseconds
returned: 28 - Operation timed out after 3252 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3251 milliseconds
returned: 28 - Connection timed out after 3251 milliseconds
returned: 28 - Operation timed out after 3251 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3251 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3251 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3251 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3251 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3251 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3251 milliseconds
returned: 28 - Connection timed out after 3251 milliseconds
returned: 28 - Operation timed out after 3251 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3250 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Operation timed out after 3250 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Operation timed out after 3250 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Connection timed out after 3250 milliseconds
returned: 28 - Connection timed out after 3249 milliseconds
returned: 28 - Connection timed out after 3249 milliseconds
returned: 28 - Connection timed out after 3249 milliseconds
returned: 28 - Connection timed out after 3249 milliseconds
returned: 28 - Operation timed out after 3249 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3249 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3248 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3248 milliseconds
returned: 28 - Connection timed out after 3248 milliseconds
returned: 28 - Connection timed out after 3248 milliseconds
returned: 28 - Operation timed out after 3248 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3248 milliseconds
returned: 28 - Connection timed out after 3248 milliseconds
returned: 28 - Operation timed out after 3248 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3248 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3247 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3246 milliseconds
returned: 28 - Connection timed out after 3245 milliseconds
returned: 28 - Connection timed out after 3245 milliseconds
returned: 28 - Operation timed out after 3245 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3245 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3245 milliseconds
returned: 28 - Connection timed out after 3245 milliseconds
returned: 28 - Operation timed out after 3245 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3245 milliseconds
returned: 28 - Operation timed out after 3245 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3244 milliseconds
returned: 28 - Operation timed out after 3244 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3244 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3244 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3244 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3239 milliseconds
returned: 28 - Connection timed out after 3239 milliseconds
returned: 28 - Operation timed out after 3239 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3239 milliseconds
returned: 28 - Operation timed out after 3238 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3238 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3238 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3238 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3238 milliseconds
returned: 28 - Operation timed out after 3238 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3235 milliseconds
returned: 28 - Operation timed out after 3235 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3235 milliseconds
returned: 28 - Operation timed out after 3235 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3234 milliseconds
returned: 28 - Operation timed out after 3234 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3232 milliseconds
returned: 28 - Connection timed out after 3232 milliseconds
returned: 28 - Connection timed out after 3232 milliseconds
returned: 28 - Connection timed out after 3231 milliseconds
returned: 28 - Connection timed out after 3230 milliseconds
returned: 28 - Connection timed out after 3229 milliseconds
returned: 28 - Connection timed out after 3229 milliseconds
returned: 28 - Connection timed out after 3229 milliseconds
returned: 28 - Connection timed out after 3228 milliseconds
returned: 28 - Operation timed out after 3228 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3228 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3228 milliseconds
returned: 28 - Connection timed out after 3228 milliseconds
returned: 28 - Operation timed out after 3228 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3228 milliseconds
returned: 28 - Operation timed out after 3228 milliseconds with 0 out of 0 bytes received
returned: 28 - Operation timed out after 3228 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3227 milliseconds
returned: 28 - Connection timed out after 3227 milliseconds
returned: 28 - Connection timed out after 3227 milliseconds
returned: 28 - Connection timed out after 3227 milliseconds
returned: 28 - Connection timed out after 3227 milliseconds
returned: 28 - Connection timed out after 3227 milliseconds
returned: 28 - Connection timed out after 3226 milliseconds
returned: 28 - Connection timed out after 3225 milliseconds
returned: 28 - Connection timed out after 3225 milliseconds
returned: 28 - Connection timed out after 3225 milliseconds
returned: 28 - Connection timed out after 3225 milliseconds
returned: 28 - Connection timed out after 3225 milliseconds
returned: 28 - Connection timed out after 3225 milliseconds
returned: 28 - Connection timed out after 3225 milliseconds
returned: 28 - Connection timed out after 3223 milliseconds
returned: 28 - Operation timed out after 3223 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3223 milliseconds
returned: 28 - Connection timed out after 3221 milliseconds
returned: 28 - Connection timed out after 3221 milliseconds
returned: 28 - Operation timed out after 3221 milliseconds with 0 out of 0 bytes received
returned: 28 - Connection timed out after 3221 milliseconds
returned: 28 - Connection timed out after 3221 milliseconds
returned: 28 - Connection timed out after 3221 milliseconds
returned: 28 - Connection timed out after 3221 milliseconds
returned: 28 - Connection timed out after 3008 milliseconds
returned: 28 - Connection timed out after 3006 milliseconds
I updated my example code. It now measures the elapsed time by itself as well and then outputs both the time libcurl tells for TOTAL_TIME as well as the private timer. It shows that the time reported by libcurl seems to be grossly wrong in these cases and the actual time that it actually took is pretty much what we set the timeout limit to. Example output from my tests would look like this:
Here libcurl says it took 39000 microseconds for each of these transfers to fail, but the application itself measured them to 3036000 microseconds. 39 vs 3036 milliseconds.
Ok, I figured it out. The upside is that this is only CURLINFO_TOTAL_TIME reporting the wrong time, it isn't actually returning prematurely. PR coming right up.
I'm sorry I was too late to respond to you, as I was doing some tests and making some reports for you.
First of all thank you very much Daniel for fixing this issue in this remarkable short time.
The Problem here - and it is my fault not to describe it better with a focus on the main issue - is that it is not the small total_time problem that made me report this to you, it is why these requests are timing out? they shouldn't!
I don't know much about cURL or C language but in the past 14 days I have used cURL multi interface for testing public proxies hundreds of thousands of times as part of my current project (a PHP application for gathering and testing the free/public proxies on the internet), and I'm telling you there is something unusual happening here in the multi feature and timing out that I don't understand.
these 400 proxies in the php and C code should have about 40-80 working proxies(and by working I mean I can connect to them in less than 30 seconds, they don't refuse or timeout) you can prove this by testing each one of them alone without the multi interface. but if I tested them with curl multi interface, SOMETIMES , I get toooooooooo many timeout errors 28 by curl, almost 3-7 proxies out of the 407 connects without errors.
HOW TO REPRODUCE:
1- get a list of free public proxies (like the ones in the C code or from websites like free-proxy-list.net) around 400 proxies
2- test each of them alone(without the multi interface) so you can estimate how many proxies of them is actually working (cURL errno 0) and how many timesout (errno 28) (I expect about 40 out of 400 will connect with no errors) (CONNECT_TIMEOUT = 30)
3- Now test them using the multi_interface and check how many timeout error (errno 28) happens and how many works (errno 0) (CONNECT_TIMEOUT = 30)
4-repeat number 3 until you suddenly find almost all of them timesout!! (here is the problem, why they are timing out sometimes ?)
I run an automatic test by a cron job every 2 minutes for the past ~24 hours by the a C code and PHP code from my laptop and a production server and saved the results in this file, you can see that some tests reproduces the problem (too many 28 errors almost all the proxies, while the normal results should be about 80 proxies are working without errors)
I'm sorry I couldn't focus on the main issue here as the total_time problem got all the attention
This is my first time I use github and I don't know if this should be reported as new issue or not and if you will get notified about this post or not as it is closed
@accountantM It may not be my place to make a comment here, but I think that maybe you shouldn't hard press this issue. One aspect of it has been fixed, and the other is only reproducible very rarely. Possibly try changing your network connection and try again, but I certainly doubt this is work the 100 bounty you've given it on Stack Overflow. Possibly just close the Stack Overflow question and wait every so often before you go knocking on the doors of ~400 proxy sites?
One more thing: Check your bandwidth. I know a few issues that I've had with curl simply go away at times when there is low bandwidth in my area.
WOW, this is very enough for me to set 500 bounty on the problem not only 100, I can't rely on curl_multi since it has a problem that shows up rarely!, for me I will just continue my project using curl on threads, and leave this problem for the time, may be one day Daniel give it another deeper look.
but I think that maybe you shouldn't hard press this issue
No, I should, curl is great and that is why I spent too much time and effort on this problem, because I want to see curl perfect and I'm very sure there is something wrong in curl_multi and proxies and this area.
Doesn't Curl have a threaded resolver? Is that what you mean by "curl on threads"? Why do you need to test these proxies, anyway? Just find one that works when the problem doesn't show itself, and use that. Read the SO question more carefully. Why not test every one individually if that works?
If Curl's multi-threaded resolver works for you, then just use that.
I'll try and reproduce and get back to you. What network connection are you on?
No, what I meant by "curl on threads" is the C program that I wrote that uses curl on threads for testing the same set of proxies 407.
the curl_multi program sometimes shows the issue
the curl on threads program never shows the issue
The 2 programs are here, and the tests results are here
Why do you need to test these proxies, anyway? Just find one that works when the problem doesn't show itself, and use that.
I'm working on a project which I want to gather the public/free proxies from the internet, save them in my database, test them , rank them (you can find plenty of them if you googled free-proxy-list )
Why not test every one individually if that works?
because testing and using thousands of public proxies synchronously will take ages, as you know they are very slow, most of them will take 60 seconds tell it responds or timeout, and also because after this project I'm going to make a crawler that will use these proxies, and for the same reason a crawler MUST do it's requests in parallel to save time.
If Curl's multi-threaded resolver works for you, then just use that.
Yes, I will definitely do that since curl_multi interface has this issue
I'll try and reproduce and get back to you.
Thank you very much for that ❤️
What network connection are you on?
I tested from my production server from a network in the U.S and from my laptop from a network in Egypt. The production server offcurse has more resources (CPU/network) than my development laptop, however curl_multi still shows the problem sometimes on both machines
Enable the threaded resolver by passing --enable-threaded-resolver to Curl's configure script.
I have three instances of that program running in the background with all their output redirected to logs, I'll get back to you on how it goes.
I see you are getting 0 successful connections and about ~270 timeouts, If you tried the threads program you will see the normal behaviour "about 50 proxies will work and about only 200 timeouts". Thank you veeeeeeeery much for reproducing this
I downloaded Wireshark and used it to capture the traffic while each of the 2 C programs was running, I also filtered the traffic to the proxies list used by the 2 C programs, and saved the files on GitHub.
the curl-threads program (the expected behavior)
63 successful connections and 158 connections timeout error 28 out of 407 proxies.
(You can open the .pcapng files using wireshark and see the recorded traffic on my computer while both expected/unexpected behavior (I filtered the traffic to the 407 proxies IPs and left Wireshark open for a little while after the 30 seconds of curl limit because I saw some packets still showing up, I don't know Wireshark and this level of networking, but i thought this could be useful))
@bagder I noticed in Wireshark that some proxy servers do reply with some packets, however curl_muti reported 0 successful connections, I don't know if this is normal replying package or not.
Hey Daniel, I'm sorry if I looked rude, It is not what I meant !
Did you see that? the time of the last packet sent from my computer (30.055897223) while the time of the packet before it is (4.905076421)! Why my computer took all these seconds to send the packet in the curl_multi program while it didn't in the curl threads program ? I don't know if this is normal or not, it might be useful or not.
Activity
[-]sometimes later requests in curl_multi timeout very small than CURLOPT_CONNECTTIMEOUT[/-][+]sometimes transfers timeout earlier than CURLOPT_CONNECTTIMEOUT[/+]bagder commentedon Feb 22, 2019
I'm afraid the amount of PHP code plus PHP binding layering here is a bit too thick for me to tell exactly what's going on or where exactly the issue lies. We need this example converted to plain C so that we can check exactly what's going on and why. It seems odd that this issue should suddenly start to appear after a certain amount of parallel transfers. Is it out of sockets somehow? If you limit this program to only test for 100 proxies, does then always work correctly?
accountantM commentedon Feb 22, 2019
Thank you very much Daniel for your replay. I did more tests
test2_100proxies_bugAppear
test3_100proxies_bugAppear
test4_407proxies_NoBug
/test5_407proxies_BugAppears
test6_30proxies_NoBug
I did about 100 tests and the bug appeared in about 20 tests of them (I did the tests on both a production server Linux centos, and laptop Linux fedora)
regarding the sockets question, I don't know if they out of sockets or not, I just use the php curl_* functions, and I don't know what are they doing behind the scenes.
I also noted something. The reports that don't have the issue are having a normal total_time from the very FIRST request (e.g 1.999564 seconds while the CURLOPT_CONNECTTIMEOUT is 2 seconds ), and the reports with the issue are having late total_time from the very FIRST request (e.g 3.020935 seconds while the CURLOPT_CONNECTTIMEOUT is 2 seconds)
I don't know C but I will download a C compiler and an IDE and will try my best to write this example in plain C.
Thank you very much Daniel for your effort and time in cURL which is almost the only reliable solution for PHP developers for making parallel http requests
bagder commentedon Feb 23, 2019
I wrote a C adaptation of what I believe is the same spirit as the original PHP code. See issue-3602.c.
It does however not seem to reproduce the problem here when I use it with curl from current git master.
accountantM commentedon Feb 23, 2019
Thank you for making this C code, I will run it on the same 2 machines I run the php code on, and will tell you the results, just give me some time
accountantM commentedon Feb 24, 2019
It appeared again ! :(
I run your code one time then I added these 3 lines to your code
and run another time
I tested on my laptop a fedora with curl 7.59.0 and the same issue happened in the 2 tests, I will try to run the same code on my cantos production server curl 7.64.0, it has much more resources(CPU and internet connection ) than my laptop and tell you the results, if you want me to record my screen while doing the tests, just tell me. This is the output in the terminal
The Second Test result
The First Test Result
accountantM commentedon Feb 24, 2019
I tried more 10 times and it appeared in 3 times of them (on Linux Fedora curl 7.59)
accountantM commentedon Feb 24, 2019
I suppressed the output using the code in this example and allowed up to 30 seconds for connect and total 40 seconds for time out
and it appeared also several times (notice the requests with "Connection time-out" and small total time)
bagder commentedon Feb 24, 2019
Thanks, I'll dig deeper.
bagder commentedon Feb 24, 2019
I updated my example code. It now measures the elapsed time by itself as well and then outputs both the time libcurl tells for
TOTAL_TIMEas well as the private timer. It shows that the time reported by libcurl seems to be grossly wrong in these cases and the actual time that it actually took is pretty much what we set the timeout limit to. Example output from my tests would look like this:Here libcurl says it took 39000 microseconds for each of these transfers to fail, but the application itself measured them to 3036000 microseconds. 39 vs 3036 milliseconds.
I haven't yet figured out why this happens...
bagder commentedon Feb 24, 2019
Ok, I figured it out. The upside is that this is only
CURLINFO_TOTAL_TIMEreporting the wrong time, it isn't actually returning prematurely. PR coming right up.multi: call multi_done on connect timeouts
accountantM commentedon Feb 26, 2019
I'm sorry I was too late to respond to you, as I was doing some tests and making some reports for you.
First of all thank you very much Daniel for fixing this issue in this remarkable short time.
The Problem here - and it is my fault not to describe it better with a focus on the main issue - is that it is not the small
total_timeproblem that made me report this to you, it is why these requests are timing out? they shouldn't!I don't know much about cURL or C language but in the past 14 days I have used cURL multi interface for testing public proxies hundreds of thousands of times as part of my current project (a PHP application for gathering and testing the free/public proxies on the internet), and I'm telling you there is something unusual happening here in the multi feature and timing out that I don't understand.
these 400 proxies in the php and C code should have about 40-80 working proxies(and by working I mean I can connect to them in less than 30 seconds, they don't refuse or timeout) you can prove this by testing each one of them alone without the multi interface. but if I tested them with curl multi interface, SOMETIMES , I get toooooooooo many timeout errors 28 by curl, almost 3-7 proxies out of the 407 connects without errors.
HOW TO REPRODUCE:
1- get a list of free public proxies (like the ones in the C code or from websites like free-proxy-list.net) around 400 proxies
2- test each of them alone(without the multi interface) so you can estimate how many proxies of them is actually working (cURL errno 0) and how many timesout (errno 28) (I expect about 40 out of 400 will connect with no errors) (
CONNECT_TIMEOUT= 30)3- Now test them using the multi_interface and check how many timeout error (errno 28) happens and how many works (errno 0) (
CONNECT_TIMEOUT= 30)4-repeat number 3 until you suddenly find almost all of them timesout!! (here is the problem, why they are timing out sometimes ?)
I run an automatic test by a cron job every 2 minutes for the past ~24 hours by the a C code and PHP code from my laptop and a production server and saved the results in this file, you can see that some tests reproduces the problem (too many 28 errors almost all the proxies, while the normal results should be about 80 proxies are working without errors)
I'm sorry I couldn't focus on the main issue here as the
total_timeproblem got all the attentionThis is my first time I use github and I don't know if this should be reported as new issue or not and if you will get notified about this post or not as it is closed
11 remaining items
accountantM commentedon Mar 29, 2019
I'm sorry I don't clearly understand what you mean, do you mean that this C threads program can help in the issue ?
JL2210 commentedon Mar 30, 2019
@accountantM It may not be my place to make a comment here, but I think that maybe you shouldn't hard press this issue. One aspect of it has been fixed, and the other is only reproducible very rarely. Possibly try changing your network connection and try again, but I certainly doubt this is work the 100 bounty you've given it on Stack Overflow. Possibly just close the Stack Overflow question and wait every so often before you go knocking on the doors of ~400 proxy sites?
One more thing: Check your bandwidth. I know a few issues that I've had with curl simply go away at times when there is low bandwidth in my area.
Hope you can figure out your issue 👍.
accountantM commentedon Mar 30, 2019
WOW, this is very enough for me to set 500 bounty on the problem not only 100, I can't rely on curl_multi since it has a problem that shows up rarely!, for me I will just continue my project using curl on threads, and leave this problem for the time, may be one day Daniel give it another deeper look.
No, I should, curl is great and that is why I spent too much time and effort on this problem, because I want to see curl perfect and I'm very sure there is something wrong in curl_multi and proxies and this area.
thanks :)
JL2210 commentedon Mar 30, 2019
Doesn't Curl have a threaded resolver? Is that what you mean by "curl on threads"?
Why do you need to test these proxies, anyway? Just find one that works when the problem doesn't show itself, and use that.Read the SO question more carefully. Why not test every one individually if that works?If Curl's multi-threaded resolver works for you, then just use that.
I'll try and reproduce and get back to you. What network connection are you on?
accountantM commentedon Mar 30, 2019
Ummm, I don't know!
No, what I meant by "curl on threads" is the C program that I wrote that uses curl on threads for testing the same set of proxies 407.
the curl_multi program sometimes shows the issue
the curl on threads program never shows the issue
The 2 programs are here, and the tests results are here
I'm working on a project which I want to gather the public/free proxies from the internet, save them in my database, test them , rank them (you can find plenty of them if you googled free-proxy-list )
because testing and using thousands of public proxies synchronously will take ages, as you know they are very slow, most of them will take 60 seconds tell it responds or timeout, and also because after this project I'm going to make a crawler that will use these proxies, and for the same reason a crawler MUST do it's requests in parallel to save time.
Yes, I will definitely do that since curl_multi interface has this issue
Thank you very much for that ❤️
I tested from my production server from a network in the U.S and from my laptop from a network in Egypt. The production server offcurse has more resources (CPU/network) than my development laptop, however curl_multi still shows the problem sometimes on both machines
JL2210 commentedon Mar 30, 2019
Enable the threaded resolver by passing
--enable-threaded-resolverto Curl'sconfigurescript.I have three instances of that program running in the background with all their output redirected to logs, I'll get back to you on how it goes.
JL2210 commentedon Mar 30, 2019
Wow! All three consistently behave the same way! Here's the three logs:
log3.txt
log2.txt
log1.txt
I'm on a mobile hotspot in Indiana, if that helps.
JL2210 commentedon Mar 30, 2019
Strace output about where all the 28 errors are:
@bagder I'm getting this behavior consistently, and I can provide more debug info. If you don't mind, could you reopen this?
I'm building Wireshark and latest Curl right now, I'll give you the output as soon as possible.
accountantM commentedon Mar 30, 2019
I see you are getting 0 successful connections and about ~270 timeouts, If you tried the threads program you will see the normal behaviour "about 50 proxies will work and about only 200 timeouts". Thank you veeeeeeeery much for reproducing this
JL2210 commentedon Mar 30, 2019
Curl version
7.64.1configured withTrying to build right now.
JL2210 commentedon Mar 30, 2019
I got hung up on building Wireshark. Is there any alternative that doesn't require Qt?
JL2210 commentedon Mar 30, 2019
Latest Curl binary exhibits the same problem.
accountantM commentedon Mar 31, 2019
I downloaded Wireshark and used it to capture the traffic while each of the 2 C programs was running, I also filtered the traffic to the proxies list used by the 2 C programs, and saved the files on GitHub.
the curl-threads program (the expected behavior)
63 successful connections and 158 connections timeout
error 28out of 407 proxies.the curl_multi program (the unexpected behavior)
0 successful connections and 272 connections timeout
error 28out of 407 proxies.(You can open the .pcapng files using wireshark and see the recorded traffic on my computer while both expected/unexpected behavior (I filtered the traffic to the 407 proxies IPs and left Wireshark open for a little while after the 30 seconds of curl limit because I saw some packets still showing up, I don't know Wireshark and this level of networking, but i thought this could be useful))
@bagder I noticed in Wireshark that some proxy servers do reply with some packets, however curl_muti reported 0 successful connections, I don't know if this is normal replying package or not.
Hey Daniel, I'm sorry if I looked rude, It is not what I meant !
accountantM commentedon Mar 31, 2019
I don't know if this info is important or not, check the conversation with the proxy
92.244.36.66in the normal behaviour (63 successful connections) , and the up normal behaviour (0 successful connections ) , I copied them from the wireshark files I attached.(Please note the second column, which is the time in seconds since the beginning of capture)
This is a normal conversation(I think) done by the threads program
And this is a not normal conversation(I think) done by the curl_multi program
Did you see that? the time of the last packet sent from my computer (30.055897223) while the time of the packet before it is (4.905076421)! Why my computer took all these seconds to send the packet in the curl_multi program while it didn't in the curl threads program ? I don't know if this is normal or not, it might be useful or not.