Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <01b701c135ab$eceeb070$6601ffbf@ashoka> From: "Mark Moraes" To: Cc: , Subject: different lynx fix for: Alert!: Unable to connect to remote host Date: Tue, 4 Sep 2001 18:41:42 -0700 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_01B2_01C13571.3D9E84E0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 ------=_NextPart_000_01B2_01C13571.3D9E84E0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi. lynx's second "confirm-ready" connect returns EINVAL rather than EINPROGRESS on lynx 2.8.4-1 on my Win2K laptop, but worked fine on a (slower) Win98SE desktop, so it doesn't seem consistently reproducible. I'd speculate that it happens on faster machines (the laptop is a 650Mhz PIII and all the machines that were mentioned in past problem reports seem like moderately fast boxes) I've seen several past references to this kind of problem in the list, but none of them seemed to solve it for me. The patch here is a kludge: the correct answer is probably to get cygwin connect to return EINPROGRESS (Corinna, is it possible that your fix from 1.1.6 mentioned in this URL is missing from 1.3?) http://sources.redhat.com/ml/cygwin/2000-12/msg00421.html Some past reports are in: http://sources.redhat.com/ml/cygwin/2001-08/msg00560.html http://sources.redhat.com/ml/cygwin/2001-08/msg00355.html http://sources.redhat.com/ml/cygwin/2001-07/msg01192.html Has a possible fix from Saurabh Gupta, didn't seem to work for me. I think the kludge I made will work for him (judging from his trace, which is very similar to the output I saw) http://www.flora.org/lynx-dev/html/month112000/msg00159.html Mark. ------=_NextPart_000_01B2_01C13571.3D9E84E0 Content-Type: application/octet-stream; name="PATCH" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="PATCH" lynx 2.8.4-1 produces an "Alert: Unable to connect to remote host"=0A= error. wget (and other networking programs) work fine.=0A= lynx -trace shows a problem in the call to confirm-ready connect().=0A= =0A= LYGetHostByName: Resolved name to a hostent. HTParseInet: Parsed address as port 80, IP address 128.100.1.32 Making HTTP connection to www.cs.toronto.edu TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first = connect() failed. errno EINPROGRESS triggered TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first = select() failed. errno EINPROGRESS triggered TCP: Error 22 in `SOCKET_ERRNO' after call to confirm-ready connect() = failed. Invalid argument HTTP: Unable to connect to remote host for `http://www.cs.toronto.edu/' = (errno =3D 22). =0A= Some previous fixes have tried raising the timeout, but it seems=0A= to me that the second connect on the non-blocking socket is=0A= failing with EINVAL rather than EISCONN/EADDRINUSE/EALREADY.=0A= Can one really rely on the semantics of a second connect on=0A= a non-blocking socket? Adding a test for EINVAL causes=0A= it to work fine on a wide variety of web servers (high-speed LAN=0A= and really distant slow Internet connections) Trace now shows:=0A= =0A= LYGetHostByName: Resolved name to a hostent. HTParseInet: Parsed address as port 80, IP address 128.100.1.32 Making HTTP connection to www.cs.toronto.edu TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first = connect() failed. errno EINPROGRESS triggered TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first = select() failed. errno EINPROGRESS triggered HTParse: aName:`http://www.cs.toronto.edu/' =0A= The set of configure options in Cygwin.README didn't work for me,=0A= I had to make a few changes, also included in the patch below.=0A= =0A= Mark.=0A= =0A= --- Cygwin-.README Fri Aug 31 18:38:21 2001=0A= +++ Cygwin.README Fri Aug 31 22:34:17 2001=0A= @@ -3,10 +3,11 @@=0A= --prefix=3D/usr=0A= --sysconfdir=3D/etc=0A= --libdir=3D/usr/share=0A= - --docdir=3D/usr/doc/lynx=0A= - --helpdir=3D/usr/doc/lynx/lynx_help=0A= + --with-docdir=3D/usr/doc/lynx=0A= + --with-helpdir=3D/usr/doc/lynx/lynx_help=0A= --with-ssl=0A= - --with-ncurses=0A= - --enable-default-colors=0A= + --with-screen=3Dncurses=0A= + --disable-default-colors=0A= --enable-nls=0A= --with-nls-datadir=3D/usr/share=0A= + --with-zlib=0A= --- WWW/Library/Implementation/HTTCP-.c Fri Aug 31 18:20:08 2001=0A= +++ WWW/Library/Implementation/HTTCP.c Fri Aug 31 18:35:59 2001=0A= @@ -1801,7 +1801,7 @@=0A= status =3D 0;=0A= }=0A= =0A= - if (status && (SOCKET_ERRNO =3D=3D EALREADY)) /* new stuff LJM */=0A= + if (status && (SOCKET_ERRNO =3D=3D EALREADY || SOCKET_ERRNO =3D=3D = EINVAL)) /* new stuff LJM */=0A= ret =3D 0; /* keep going */=0A= else {=0A= #ifdef SOCKET_DEBUG_TRACE=0A= ------=_NextPart_000_01B2_01C13571.3D9E84E0 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------=_NextPart_000_01B2_01C13571.3D9E84E0--