[OpenAFS] fileserver 1.2.11 problem

Thomas Mueller thomas.mueller@hrz.tu-chemnitz.de
Wed, 13 Oct 2004 11:17:54 +0200 (MEST)


On Tue, 12 Oct 2004, Derrick J Brashear wrote:

> So if the fileserver was still responsive to any Rx traffic, this backtrace
> isn't particularly meaningful; In any case it's unlikely to hang in sendmsg().

sorry, I think you got me wrong.
the fileserver is not responsive to any Rx traffic (rxdebug hangs) and
the fileserver is not responsive to signals (XCPU, TSTP, TERM, QUIT).
Only signal ABRT and KILL will stop the fileserver.

I agree that it is unlikely to hang in sendmsg(). I suppose there is a
loop in a function down the stack.

I have a second core dump of a fileserver, which has the same stack backtrace:

(gdb) thread apply all where

Thread 1 (process 18292):
#0  0x420e8412 in sendmsg () from /lib/i686/libc.so.6
#1  0x0808a1a3 in rxi_Sendmsg ()
#2  0x08092042 in osi_NetSend ()
#3  0x08092d8e in rxi_SendPacket ()
#4  0x0808e157 in rxi_SendList ()
#5  0x0808e368 in rxi_SendXmitList ()
#6  0x0808e6ea in rxi_Start ()
#7  0x080964f8 in rxevent_RaiseEvents ()
#8  0x08089cd8 in rxi_ListenerProc ()
#9  0x0808a014 in rx_ServerProc ()
#10 0x080982ac in Create_Process_Part2 ()
#11 0x080988e6 in savecontext ()
(gdb)

Before I killed the fileserver I tcpdump'ed the traffic on port 7000.
There are thousand of such packets:

16:02:57.198479 134.109.132.17.afs > 81.66.109.65.20042:  [udp sum ok] rx data cid 04b0954c call# 52032 seq 1 ser 110202645 secindex 0 serviceid 1 <client-init>,<req-ack>,<last-pckt> (32) (DF) (ttl 64, id 0, len 60)
16:02:57.198489 134.109.132.17.afs > 81.66.109.65.20042:  [udp sum ok] rx data cid 04b0954c call# 52032 seq 1 ser 110202646 secindex 0 serviceid 1 <client-init>,<req-ack>,<last-pckt> (32) (DF) (ttl 64, id 0, len 60)
16:02:57.198497 134.109.132.17.afs > 81.66.109.65.20042:  [udp sum ok] rx data cid 04b0954c call# 52032 seq 1 ser 110202647 secindex 0 serviceid 1 <client-init>,<req-ack>,<last-pckt> (32) (DF) (ttl 64, id 0, len 60)
16:02:57.198506 134.109.132.17.afs > 81.66.109.65.20042:  [udp sum ok] rx data cid 04b0954c call# 52032 seq 1 ser 110202648 secindex 0 serviceid 1 <client-init>,<req-ack>,<last-pckt> (32) (DF) (ttl 64, id 0, len 60)
...

Please note: 
iptables is configured to accept packets coming in from external networks
(! 134.109.0.0/16) only if they come from port 7001.
Any requests coming in from 81.66.109.65.20042 would be dropped and we
see no such packets (dropped packets will be logged).
So wherefrom does the fileserver get this destination 81.66.109.65.20042?
Why tries the fileserver continuously to send packets to this destination?

Thomas.
-- 
--------------------------------------------------
Thomas Mueller, TU Chemnitz, URZ, D-09107 Chemnitz
--------------------------------------------------