Quote:(Thomas Boutell) writes:
>My machine has this problem also.
>Hosts in my /etc/hosts file *do* work,
>but other hosts do not.
Here's the deal:
1.1N trace:
socket(PF_INET, DGRAM, IPPROTO_IP) = 11
connect(11, AF_INET(53, 192.102.249.9), 16) = 0
send(11, "\0\1\1\0\0\1\0\0\0\0\0\0\4java\3sun\3com\0\0\1\0\1", 30, 0) = 30
select(12, fdset0:[11], NULL, NULL, tv:{5, 0}) = 1 (fdset0:[11],
tv:{4, 570000})
recvfrom(11, "\0\1\81\80\0\1\0\1\0\4\0\t\4java\3sun\3com\0\0\1\0\1\c0\c"..,
1024, 0, AF_INET(53, 192.102.249.9)[16]) = 288
close(11) = 0
2.0b1 trace:
socket(PF_INET, DGRAM, IPPROTO_IP) = 16
connect(16, AF_INET(53, 192.102.249.9), 16) = 0
send(16, "\0\1\1\0\0\1\0\0\0\0\0\0\4java\3sun\3com\0\0\1\0\1", 30, 0) = 30
select(17, fdset0:[16], NULL, NULL, tv:{5, 0}) (RESTARTNOHAND)
- [SIGALRM]
gettimeofday({813120338, 375438}, NULL) = 0
sigreturn([HUP INT QUIT], 0x7, 0) = -1 (Interrupted system call)
close(16) = 0
socket(PF_INET, DGRAM, IPPROTO_IP) = 16
sendto(16, "\0\1\1\0\0\1\0\0\0\0\0\0\4java\3sun\3com\0\0\1\0\1", 30, 0,
AF_INET(53, 192.102.249.3), 16) = 30
select(17, fdset0:[16], NULL, NULL, tv:{5, 0}) (RESTARTNOHAND)
- [SIGALRM]
gettimeofday({813120338, 425281}, NULL) = 0
sigreturn([HUP INT QUIT], 0x7, 0) = -1 (Interrupted system call)
close(16) = 0
socket(PF_INET, DGRAM, IPPROTO_IP) = 16
[etc etc, until it gives up]
So it looks like it's getting banged on by alarm signals while it's
waiting for the nameserver response and can't complete it. 1.1N doesn't
set up a SIGALRM handler at all, but 2.0b1 does:
sigaction(SIGALRM, {0x2feda0, [], RESTART}, NULL) = 0
It's called gettimeofday() in the signal handler, and it looks like
the alarm is going off every second. No idea why. If it masked the
alarm signal before calling select, it would work fine.
-PSP
--
"One of the reporters asked if they could "see" the internet worm. They
tried to explain that it wasn't something that you could actually see but
was merely a program that was running in the background. One of the
reporters asked, 'what if you had a color monitor?'"