debugging bind9 debian (1:9.5.1.dfsg.P3-1+lenny1) hangs

Sven Eschenberg sven at whgl.uni-frankfurt.de
Fri Jan 8 05:30:59 UTC 2010


Hi Mike,

I don't know about the inner Working of the epoll calls, so I will 
describe this in a more general way.
Usually IO operations (i.e. a read) would block the call, untill data is 
available. If you have multiple io streams, this is problematic.
What you do instead is, you tell the system to inform you, when data 
gets available. You do that by saying, I have this set of 
filedescriptors, please inform me, if any IO Event occurs, data is ready 
for retrieval, or the output buffer is ready to write data. Now there 
are certain situations possible, where you get such an event, but it is 
no longer valid, when you do the read. Your call would block. To avoid a 
  block and to be able to maybe handle other events still waiting, you 
mark the actual request as nonblocking.
If such a case occured, the call will not block, but instead you'll get 
an 'EAGAIN' error. The error is basicly an information you need to be 
aware of the situation that occured and to handle it properly. Another 
example where it is impossible to avoid follows right away.

Let's take a look at an example from the trace:

19120 epoll_wait(8, {{EPOLLIN, {u32=5, u64=13240600445115695109}}}, 64, 
-1) = 1

Tell epoll to wait for an event, we are told FD 5 is ready for reading.

19120 read(5, "\4\2\0\0\375\377\377\377"..., 8) = 8

Do read some data ...

19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLIN, {u32=516, u64=516}}) = 
-1 ENOENT (No such file or directory)

Delete FD 516 from the (input) set - answer, not in set ...

19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLOUT, {u32=516, u64=516}}) = 
-1 ENOENT (No such file or directory)

Delete FD 516 from the (output) set ... not in set ...

19120 read(5, "\4\2\0\0\373\377\377\377"..., 8) = 8

do another read on FD 5....

19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLIN, {u32=516, u64=516}})  = 
-1 ENOENT (No such file or directory)
19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLOUT, {u32=516, u64=516}}) = 
-1 ENOENT (No such file or directory)

Seems the remove operation is retried ...

19120 close(516)                        = 0

Close FD 516

19120 read(5, 0xb64cb28c, 8)            = -1 EAGAIN (Resource 
temporarily unavailable)

Now read again from FD 5 (nonblocking) - sorry, no data there. read() 
unfortunately has no semantics to say: Your last read emptied the 
buffer, useless to try again - so you'll need one final read() to 
realize there is no more data left, which is reported by EAGAIN. If 
you'd work with blocking IO, the call would block until data becomes 
available, which is unfeasible when having multiple io streams, thus 
this is the only way of knowing there is no more data ready.

19120 epoll_wait(8,

Now that we know we have nothing 'else' to do, wait for another (IO)event.

--------------

Unfortunately your trace does not really show, what FD 9 in Process 
19118 is, but it seems strange that there is a read() returning EAGAIN 
over and over again, this somewhat looks like 'busy waiting' on a 
nonblocking FD by polling it over and over. But without further 
knowledge it is hard to tell, why it happens, might be it is perfectly 
normal aswell.

Regards

-Sven

P.S.: Sorry for the lengthy answer on list.

Mike schrieb:
> 
> 
> Thanks Sven.
> so the resource unavailable messages mean nothing?
> 
> thanks
> Mike
> 
> Sven Eschenberg wrote:
>> Hi there,
>>
>> Quote:
>> "ENOENT
>>     op was EPOLL_CTL_MOD or EPOLL_CTL_DEL, and fd is not in epfd. "
>>
>> It just means, that the poll set was supposed to be modified, but the 
>> descriptor was not part of it. Not really an error, but a condition 
>> that should rather not happen. But it should certainly not be the 
>> source for a hang.
>>
>> Regards
>>
>> -Sven
>>
>> Mike schrieb:
>>> Hi List,
>>>
>>> not certain if this is the appropriate area for this request , so do 
>>> let me know.
>>> I'm seeing system hangs with bind9 on a debian lenny box.  They do 
>>> clear after a bit of wait
>>> but do cause load spikes and the system becomes unresponsive.
>>>
>>> In running strace  I'm wondering if what I'm seeing in the strace 
>>> output are errors (No such file or directory) and (Resource 
>>> temporarily unavailable).
>>> Can someone help me understand? Here is a snippet from the strace 
>>> output:
>>>
>>>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 517, {EPOLLIN, {u32=517, u64=517}}) 
>>> = 0
>>> 19120 epoll_wait(8, {{EPOLLIN, {u32=5, u64=13240600445115695109}}}, 
>>> 64, -1) = 1
>>> 19120 read(5, "\5\2\0\0\375\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 517, {EPOLLIN, {u32=517, u64=517}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 517, {EPOLLOUT, {u32=517, 
>>> u64=517}}) = -1 ENOENT (No such file or directory)
>>> 19120 read(5, "\5\2\0\0\373\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 517, {EPOLLIN, {u32=517, u64=517}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 517, {EPOLLOUT, {u32=517, 
>>> u64=517}}) = -1 ENOENT (No such file or directory)
>>> 19120 close(517)                        = 0
>>> 19120 read(5, 0xb64cb28c, 8)            = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19120 epoll_wait(8, {{EPOLLIN, {u32=520, u64=2233382994440}}}, 64, 
>>> -1) = 1
>>> 19120 futex(0xb74d2048, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb74d2044, 
>>> {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d2010, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 futex(0xb74d2010, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d2010, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 futex(0xb5b5ac70, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 futex(0xb5b5ac70, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 recvmsg(520, {msg_name(16)={sa_family=AF_INET, 
>>> sin_port=htons(53), sin_addr=inet_addr("213.130.47.22")}, 
>>> msg_iov(1)=[{"\345\23\204\20\0\1\0\1\0\5\0\v\5auth5\2ns\3gin\3ntt\3net"..., 
>>> 4096}], msg_controllen=20, {cmsg_len=20, cmsg_level=SOL_SOCKET, 
>>> cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 402
>>> 19118 futex(0xb5b5ac70, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 recvmsg(520, 0xb74ccf54, 0)       = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 write(7, "\10\2\0\0\375\377\377\377"..., 8) = 8
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 futex(0xb8e61e90, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 futex(0xb8e61e90, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb8e61e90, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 write(7, "\10\2\0\0\373\377\377\377"..., 8) = 8
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 657830}, NULL) = 0
>>> 19118 futex(0xb74d2048, FUTEX_WAIT_PRIVATE, 85, NULL <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 520, {EPOLLIN, {u32=520, u64=520}}) 
>>> = 0
>>> 19120 epoll_wait(8, {{EPOLLIN, {u32=5, u64=13240600445115695109}}}, 
>>> 64, -1) = 1
>>> 19120 read(5, "\10\2\0\0\375\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 520, {EPOLLIN, {u32=520, u64=520}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 520, {EPOLLOUT, {u32=520, 
>>> u64=520}}) = -1 ENOENT (No such file or directory)
>>> 19120 read(5, "\10\2\0\0\373\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 520, {EPOLLIN, {u32=520, u64=520}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 520, {EPOLLOUT, {u32=520, 
>>> u64=520}}) = -1 ENOENT (No such file or directory)
>>> 19120 close(520)                        = 0
>>> 19120 read(5, 0xb64cb28c, 8)            = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19120 epoll_wait(8,  <unfinished ...>
>>> 19119 <... futex resumed> )             = -1 ETIMEDOUT (Connection 
>>> timed out)
>>> 19119 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19119 futex(0xb74d2048, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb74d2044, 
>>> {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d2010, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19119 <... futex resumed> )             = 1
>>> 19119 futex(0xb74d2010, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d2010, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 futex(0xb74d4010, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19119 <... futex resumed> )             = 1
>>> 19119 futex(0xb74d4010, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d4040, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19119 <... futex resumed> )             = 1
>>> 19119 clock_gettime(CLOCK_REALTIME, {1262638342, 857733237}) = 0
>>> 19119 futex(0xb74d4040, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d4044, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb74d4040, 
>>> {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 0
>>> 19118 futex(0xb74d4010, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74cc958, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 socket(PF_INET6, SOCK_DGRAM, IPPROTO_UDP) = 6
>>> 19118 fcntl64(6, F_DUPFD, 512)          = 515
>>> 19118 close(6)                          = 0
>>> 19118 fcntl64(515, F_GETFL)             = 0x2 (flags O_RDWR)
>>> 19118 fcntl64(515, F_SETFL, O_RDWR|O_NONBLOCK) = 0
>>> 19118 setsockopt(515, SOL_SOCKET, SO_TIMESTAMP, [1], 4) = 0
>>> 19118 setsockopt(515, SOL_IPV6, 0x31 /* IPV6_??? */, [1], 4) = 0
>>> 19118 getsockopt(515, SOL_SOCKET, SO_RCVBUF, [111616], [4]) = 0
>>> 19118 setsockopt(515, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0
>>> 19118 bind(515, {sa_family=AF_INET6, sin6_port=htons(31050), 
>>> inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, 
>>> sin6_scope_id=0}, 28) = 0
>>> 19118 recvmsg(515, 0xb74ccd64, 0)       = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 write(7, "\3\2\0\0\375\377\377\377"..., 8) = 8
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 sendmsg(515, {msg_name(28)={sa_family=AF_INET6, 
>>> sin6_port=htons(53), inet_pton(AF_INET6, "2001:418:3f4::5", 
>>> &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 
>>> msg_iov(1)=[{"\252B$\0\0\1\0\1\0\0\0\0\ninfogratis\3org\0\0\6\0\1\300"..., 
>>> 77}], msg_controllen=0, msg_flags=0}, 0) = -1 ENETUNREACH (Network is 
>>> unreachable)
>>> 19118 socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 6
>>> 19118 fcntl64(6, F_DUPFD, 512)          = 516
>>> 19118 close(6)                          = 0
>>> 19118 fcntl64(516, F_GETFL)             = 0x2 (flags O_RDWR)
>>> 19118 fcntl64(516, F_SETFL, O_RDWR|O_NONBLOCK) = 0
>>> 19118 setsockopt(516, SOL_SOCKET, SO_TIMESTAMP, [1], 4) = 0
>>> 19118 setsockopt(516, SOL_IP, IP_MTU_DISCOVER, [0], 4) = 0
>>> 19118 getsockopt(516, SOL_SOCKET, SO_RCVBUF, [111616], [4]) = 0
>>> 19118 bind(516, {sa_family=AF_INET, sin_port=htons(62848), 
>>> sin_addr=inet_addr("0.0.0.0")}, 16) = 0
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 read(9, 0xb74ccc68, 40)           = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 recvmsg(516, 0xb74ccd64, 0)       = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 write(7, "\4\2\0\0\375\377\377\377"..., 8) = 8
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 sendmsg(516, {msg_name(16)={sa_family=AF_INET, 
>>> sin_port=htons(53), sin_addr=inet_addr("66.252.5.14")}, 
>>> msg_iov(1)=[{"=\310$\0\0\1\0\1\0\0\0\0\ninfogratis\3org\0\0\6\0\1\300"..., 
>>> 77}], msg_controllen=0, msg_flags=0}, 0) = 77
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 write(7, "\3\2\0\0\373\377\377\377"..., 8) = 8
>>> 19118 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19118 futex(0xb74d2048, FUTEX_WAIT_PRIVATE, 87, NULL <unfinished ...>
>>> 19119 <... futex resumed> )             = 1
>>> 19119 futex(0xb74d4044, FUTEX_WAIT_PRIVATE, 147, {0, 499999763}) = -1 
>>> EAGAIN (Resource temporarily unavailable)
>>> 19119 gettimeofday({1262638342, 857733}, NULL) = 0
>>> 19119 futex(0xb74d4010, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19119 clock_gettime(CLOCK_REALTIME, {1262638342, 857733237}) = 0
>>> 19119 futex(0xb74d4044, FUTEX_WAIT_PRIVATE, 149, {14, 999999763} 
>>> <unfinished ...>
>>> 19120 <... epoll_wait resumed> {{EPOLLIN, {u32=5, 
>>> u64=13240600445115695109}}}, 64, -1) = 1
>>> 19120 read(5, "\3\2\0\0\375\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 515, {EPOLLIN, {u32=515, u64=515}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 515, {EPOLLOUT, {u32=515, 
>>> u64=515}}) = -1 ENOENT (No such file or directory)
>>> 19120 read(5, "\4\2\0\0\375\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_ADD, 516, {EPOLLIN, {u32=516, 
>>> u64=2216203125252}}) = 0
>>> 19120 read(5, "\3\2\0\0\373\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 515, {EPOLLIN, {u32=515, u64=515}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 515, {EPOLLOUT, {u32=515, 
>>> u64=515}}) = -1 ENOENT (No such file or directory)
>>> 19120 close(515)                        = 0
>>> 19120 read(5, 0xb64cb28c, 8)            = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19120 epoll_wait(8, {{EPOLLIN, {u32=516, u64=2216203125252}}}, 64, 
>>> -1) = 1
>>> 19120 futex(0xb74d2048, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb74d2044, 
>>> {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d2010, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 futex(0xb74d2010, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb74d2010, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 gettimeofday({1262638342, 945690}, NULL) = 0
>>> 19118 futex(0xb5b63430, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 futex(0xb5b63430, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 recvmsg(516, {msg_name(16)={sa_family=AF_INET, 
>>> sin_port=htons(53), sin_addr=inet_addr("66.252.5.14")}, 
>>> msg_iov(1)=[{"=\310\244\0\0\1\0\0\0\0\0\0\ninfogratis\3org\0\0\6\0\1\276"..., 
>>> 4096}], msg_controllen=20, {cmsg_len=20, cmsg_level=SOL_SOCKET, 
>>> cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 32
>>> 19118 futex(0xb5b63430, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 recvmsg(516, 0xb74ccf54, 0)       = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19118 write(7, "\4\2\0\0\375\377\377\377"..., 8) = 8
>>> 19118 gettimeofday({1262638342, 945690}, NULL) = 0
>>> 19118 futex(0xb74d4044, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb74d4040, 
>>> {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
>>> 19118 gettimeofday({1262638342, 945690}, NULL) = 0
>>> 19118 futex(0xb8e61e30, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
>>> 19119 <... futex resumed> )             = 0
>>> 19119 gettimeofday({1262638342, 945690}, NULL) = 0
>>> 19119 futex(0xb74d4010, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19119 clock_gettime(CLOCK_REALTIME, {1262638342, 945690526}) = 0
>>> 19119 futex(0xb74d4044, FUTEX_WAIT_PRIVATE, 151, {1199, 68451474} 
>>> <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 futex(0xb8e61e30, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
>>> 19118 <... futex resumed> )             = 0
>>> 19118 futex(0xb8e61e30, FUTEX_WAKE_PRIVATE, 1) = 0
>>> 19118 write(7, "\4\2\0\0\373\377\377\377"..., 8) = 8
>>> 19118 futex(0xb74d2048, FUTEX_WAIT_PRIVATE, 89, NULL <unfinished ...>
>>> 19120 <... futex resumed> )             = 1
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLIN, {u32=516, u64=516}}) 
>>> = 0
>>> 19120 epoll_wait(8, {{EPOLLIN, {u32=5, u64=13240600445115695109}}}, 
>>> 64, -1) = 1
>>> 19120 read(5, "\4\2\0\0\375\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLIN, {u32=516, u64=516}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLOUT, {u32=516, 
>>> u64=516}}) = -1 ENOENT (No such file or directory)
>>> 19120 read(5, "\4\2\0\0\373\377\377\377"..., 8) = 8
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLIN, {u32=516, u64=516}}) 
>>> = -1 ENOENT (No such file or directory)
>>> 19120 epoll_ctl(8, EPOLL_CTL_DEL, 516, {EPOLLOUT, {u32=516, 
>>> u64=516}}) = -1 ENOENT (No such file or directory)
>>> 19120 close(516)                        = 0
>>> 19120 read(5, 0xb64cb28c, 8)            = -1 EAGAIN (Resource 
>>> temporarily unavailable)
>>> 19120 epoll_wait(8,
>>>
>>>
>>>
>>> _______________________________________________
>>> bind-users mailing list
>>> bind-users at lists.isc.org
>>> https://lists.isc.org/mailman/listinfo/bind-users
>>
>>
> 
> _______________________________________________
> bind-users mailing list
> bind-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users




More information about the bind-users mailing list