bug-wget
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Timeout never happens with https://www.tesco.com


From: Tom Crane
Subject: Timeout never happens with https://www.tesco.com
Date: Sun, 6 Dec 2020 18:48:13 +0000 (GMT)

I am using the following command in a script (shown here running under strace),

tmp$ strace -s999 -f -e trace=network wget -S -v --no-check-certificate 
--waitretry=1 --tries=1 --timeout=1 --read-timeout=1 --wait=1 -O 
/tmp/280200433.tmp https://www.tesco.com/groceries/en-GB/products/280200433
--2020-12-06 17:52:25--  
https://www.tesco.com/groceries/en-GB/products/280200433
Resolving www.tesco.com (www.tesco.com)... socket(AF_UNIX, 
SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 
ENOENT (No such file or directory)
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 
ENOENT (No such file or directory)
socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 4
setsockopt(4, SOL_IP, IP_RECVERR, [1], 4) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("192.168.1.254")}, 16) = 0
sendmmsg(4, [{msg_hdr={msg_name=NULL, msg_namelen=0, 
msg_iov=[{iov_base="\357\317\1\0\0\1\0\0\0\0\0\0\3www\5tesco\3com\0\0\1\0\1", 
iov_len=31}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, msg_len=31}, {msg_hdr={msg_name=NULL, 
msg_namelen=0, 
msg_iov=[{iov_base="\376\303\1\0\0\1\0\0\0\0\0\0\3www\5tesco\3com\0\0\34\0\1", 
iov_len=31}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, msg_len=31}], 2, MSG_NOSIGNAL) = 2
recvfrom(4, 
"\357\317\201\0\0\1\0\1\0\0\0\0\3www\5tesco\3com\0\0\1\0\1\300\f\0\1\0\1\0\0\1,\0\4hR\301\371",
 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.254")}, 
[28->16]) = 47
recvfrom(4, "\376\303\201\2\0\1\0\0\0\0\0\0\3www\5tesco\3com\0\0\34\0\1", 65536, 0, 
{sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.254")}, [28->16]) = 
31104.82.193.249
Connecting to www.tesco.com (www.tesco.com)|104.82.193.249|:443... socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 4 connect(4, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("104.82.193.249")}, 16) = 0
connected.
HTTP request sent, awaiting response...

but the timeout never happens, it just hangs indefinitely with the TCP
connection remaining in the ESTABLISHED state according to netstat.

I am wondering if the problem is something to do with the initial part of the SSL negotiation since it happens very early on after the connection is established, and checking old messages in this list, there were bug reports about this a few years back.

Accessing the same URL from a web browser works fine, rendering the content OK. This may of course involve client-side scripting but that is another matter. I am assuming wget should be able to read and store whatever HTML is produced and not just hang.

I know I could run wget under the Gnutils timeout command as a workaround but I would prefer to get wget's timeout to work.

Any thoughts?

Thanks
Tom Crane

System/wget details:
        OS:     Slackware64-current
        Kernel: 5.4.6

$ wget --version
GNU Wget 1.20.3 built on linux-gnu.

-cares +digest -gpgme +https +ipv6 +iri +large-file -metalink +nls
+ntlm +opie +psl +ssl/openssl

Wgetrc:
    /home/tom/.wgetrc (user)
    /etc/wgetrc (system)
Locale:
    /usr/share/locale
Compile:
    gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
    -DLOCALEDIR="/usr/share/locale" -I. -I../lib -I../lib -DHAVE_LIBSSL
    -DNDEBUG -O2 -fPIC
Link:
    gcc -DHAVE_LIBSSL -DNDEBUG -O2 -fPIC -lpcre2-8 -luuid -lidn2 -lssl
    -lcrypto -lz -lpsl ftp-opie.o openssl.o http-ntlm.o ../lib/libgnu.a
    -lunistring

$ cat ~/.wgetrc
robots = off
user-agent = Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 
Firefox/60.0



reply via email to

[Prev in Thread] Current Thread [Next in Thread]