[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: (PATCH) strange HTTP/HTCheckForInterrupt() bug lynx-dev
From: |
Leonid Pauzner |
Subject: |
Re: (PATCH) strange HTTP/HTCheckForInterrupt() bug lynx-dev |
Date: |
Mon, 19 Apr 1999 12:38:48 +0400 (MSD) |
18-Apr-99 01:24 Leonid Pauzner wrote:
> 29-Mar-99 16:50 Bela Lubkin wrote:
>> This fixes one of the reported problems (characters other than INTERRUPT
>> causing the DNS lookup delay to be shortened). It also fixes a serious
>> problem that I noticed while looking into the other reports: if fork()
>> failed, we were blindly going ahead and doing who knows what, including
>> kill(-1, SIGTERM)! On my system, that means "send SIGTERM to every
>> process with my UID" -- bad news indeed.
>> But I don't think that's what Leonid was running into. That's something
>> else, possibly the need to signal((various signals), quench) *before*
>> fork().
>> CHANGES:
>> * Behave sanely if NSL_FORK fork() fails. -BL
>> * NSL_FORK try for dns_patience *seconds*, not dns_patience select()
>> calls, which might have been shortened by keyboard input. -BL
>> * Fix some screwy comment indentation.
>> uuencoded (and gzip'd) to try to preserve spaces/tabs.
>>>Bela<
> Today I got the same strange buged behaviour, now with dev22.
> Perhaps I press "z" in a "bad" moment (during DNS search or a little later).
> ^Z spawn me to a shell and "fg" return me back without visible problems.
Looking into trace log more carefully I found out that we use two DNS calls:
first to resolve anchor and the second for making TCP connection.
In case of local proxy we have the second DNS call for proxy address.
Probably, interrupting the first call we crash the second by some means?
Lynx Trace Log (2.8.2dev.22)
User message: Trace ON!
'lynx.browser.org' is not a URL
Converted 'lynx.browser.org' to '/home/pauzner/lynx.browser.org'
Can't stat() or fopen() '/home/pauzner/lynx.browser.org'
Looking up lynx.browser.org first.
LYGetHostByName: parsing `lynx.browser.org'.
CHILD gethostbyname: 0x400e6ef4 { h_name = 0x400e6fa5 "lynx.browser.org",
h_aliases = 0x400e6f08 { 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x400e6e64 { 0x400e6fb8 "195.40.122.44", 0x0 } }
CHILD fill_rehostent: 0x811c360 { h_name = 0x811c384 "lynx.browser.org",
h_aliases = 0x811c37c { 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x811c374 { 0x811c380 "195.40.122.44", 0x0 } }
'lynx.browser.org' is not a URL
Converted 'lynx.browser.org' to '/home/pauzner/lynx.browser.org'
Can't stat() or fopen() '/home/pauzner/lynx.browser.org'
Looking up lynx.browser.org first.
LYGetHostByName: parsing `lynx.browser.org'.
Read from pipe: 0x811c360 { h_name = 0x811c384 "lynx.browser.org",
h_aliases = 0x811c37c { 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x811c374 { 0x811c380 "195.40.122.44", 0x0 } }
LYGetHostByName: NSL_FORK child 2379 exited, status 0x0.
End of LYGetHostByName: 0x811c360 { h_name = 0x811c384 "lynx.browser.org",
h_aliases = 0x811c37c { 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x811c374 { 0x811c380 "195.40.122.44", 0x0 } }
LYGetHostByName: Resolved name to a hostent.
Trying: 'http://lynx.browser.org'
HTParse: aName:http://lynx.browser.org relatedName:
1
HTParse: result:http://lynx.browser.org/
LYpush[0]: address:http://www.mccme.ru/home.html
title:MCCME: Bookmarks
getfile: getting http://lynx.browser.org/
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:lynx.browser.org
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:
Entered HTAnchor_findAddress
New anchor 0x8154b40 has hash 57 and address `http://lynx.browser.org/'
HTAccess: loading document http://lynx.browser.org/
HTParse: aName:http://lynx.browser.org/ relatedName:file:
HTParse: result:http
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:lynx.browser.org
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:http
proxy server found: http://proxy.mccme.ru:3128/
HTParse: aName:http://proxy.mccme.ru:3128/http://lynx.browser.org/ relatedNam
e:http:
HTParse: result:http
HTParse: aName:http://proxy.mccme.ru:3128/http://lynx.browser.org/ relatedNam
e:
HTParse: result:proxy.mccme.ru:3128
Looking up proxy.mccme.ru:3128.
HTParseInet: parsing `proxy.mccme.ru:3128'.
LYGetHostByName: parsing `proxy.mccme.ru'.
CHILD gethostbyname: 0x400e6ef4 { h_name = 0x400e6fc1 "bsd18.mccme.ru",
h_aliases = 0x400e6f08 { 0x400e6fa3 "proxy.mccme.ru", 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x400e6e64 { 0x400e6fd4 "195.133.68.18", 0x0 } }
CHILD fill_rehostent: 0x811c360 { h_name = 0x811c388 "bsd18.mccme.ru",
h_aliases = 0x811c37c { 0x811c397 "proxy.mccme.ru", 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x811c374 { 0x811c384 "195.133.68.18", 0x0 } }
LYGetHostByName: Resolved name to a hostent.
Trying: 'http://lynx.browser.org'
HTParse: aName:http://lynx.browser.org relatedName:
1
HTParse: result:http://lynx.browser.org/
LYpush[0]: address:http://www.mccme.ru/home.html
title:MCCME: Bookmarks
getfile: getting http://lynx.browser.org/
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:lynx.browser.org
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:
Entered HTAnchor_findAddress
New anchor 0x8154b40 has hash 57 and address `http://lynx.browser.org/'
HTAccess: loading document http://lynx.browser.org/
HTParse: aName:http://lynx.browser.org/ relatedName:file:
HTParse: result:http
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:lynx.browser.org
HTParse: aName:http://lynx.browser.org/ relatedName:
HTParse: result:http
proxy server found: http://proxy.mccme.ru:3128/
HTParse: aName:http://proxy.mccme.ru:3128/http://lynx.browser.org/ relatedNam
e:http:
HTParse: result:http
HTParse: aName:http://proxy.mccme.ru:3128/http://lynx.browser.org/ relatedNam
e:
HTParse: result:proxy.mccme.ru:3128
Looking up proxy.mccme.ru:3128.
HTParseInet: parsing `proxy.mccme.ru:3128'.
LYGetHostByName: parsing `proxy.mccme.ru'.
Read from pipe: 0x811c360 { h_name = 0x811c388 "bsd18.mccme.ru",
h_aliases = 0x811c37c { 0x811c397 "proxy.mccme.ru", 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x811c374 { 0x811c384 "195.133.68.18", 0x0 } }
LYGetHostByName: NSL_FORK child 2380 exited, status 0x0.
End of LYGetHostByName: 0x811c360 { h_name = 0x811c388 "bsd18.mccme.ru",
h_aliases = 0x811c37c { 0x811c397 "proxy.mccme.ru", 0x0 },
h_addrtype = 2, h_length = 4,
h_addr_list = 0x811c374 { 0x811c384 "195.133.68.18", 0x0 } }
LYGetHostByName: Resolved name to a hostent.
HTParseInet: Parsed address as port 3128, IP address 195.133.68.18
Making HTTP connection to proxy.mccme.ru:3128.
...
Composing Proxy Authorization for proxy.mccme.ru:3128/http://lynx.browser.org/
HTAASetup_lookup: No template matched `http://lynx.browser.org/' (so probably n
ot protected)
HTTP: Not sending proxy authorization (yet).
Writing:
GET http://lynx.browser.org/ HTTP/1.0
Host: lynx.browser.org
> Exiting via interrupt: 15
> [1]+ Stopped lynx
> address@hidden pauzner]$ ps -a
> PID TTY STAT TIME COMMAND
> 94 2 S 0:00 /sbin/mingetty tty2
> 230 5 S 0:00 /sbin/mingetty tty5
> 231 6 S 0:00 /sbin/mingetty tty6
> 19434 3 S 0:00 /sbin/mingetty tty3
> 28384 1 S 0:00 /sbin/mingetty tty1
> 32691 4 S 0:00 /sbin/mingetty tty4
> 22774 a0 S 0:00 /bin/bash
> 22776 a0 S 0:00 lynx
> 28310 q0 S 0:00 bash
> 2995 p1 S 0:00 -bash
> 16098 p9 S 0:00 bash
> 3203 p0 S 0:00 -bash
> 3215 p0 T 0:03 lynx
> 7156 p0 Z 0:00 (lynx <zombie>)
> 7261 p0 R 0:00 ps -a
> address@hidden pauzner]$
>> --ATTACHMENT-- Binary file <patch.gz>