[OpenAFS] Re: 1.6.0-pre2 ptserver/vlserver dumping core
Andrew Deason
adeason@sinenomine.net
Wed, 2 Mar 2011 00:04:50 -0600
On Tue, 1 Mar 2011 00:22:42 -0600
"Ryan C. Underwood" <nemesis-lists@icequake.net> wrote:
> #8 0x0807c014 in rxi_CheckCall (call=0x9a71508) at rx.c:6150
> 6150 rxi_FreeCall(call);
> (gdb) print *call
Looking at it a bit more... one thing that seems odd is that we don't
ever seem to cancel the GrowMTU event. Shouldn't we be doing that in
FreeCall/ResetCall/EndCall somewhere? It seems like we could have some
other event go the CheckCall->FreeCall->DestroyConn route while the
GrowMTUEvent is still pending, and when the GrowMTUEvent fires, it
follows the same path and frees the conn again. That wouldn't be a
problem in the pthreaded case because we check the call refs before
freeing in CheckCall.
I still wouldn't understand how you can reproduce this so easily,
though, when I am unable. We can probably give you some gdb breakpoints
and stuff to run, to see what events are triggering for the conn. If it
comes to that, anyway, and you're willing try running it again under gdb
until the problem recurs (but that's apparently not a very long time,
heh).
--
Andrew Deason
adeason@sinenomine.net