[OpenAFS-devel] Kernel 2.4.0 Oops when afs is shutting down

Derek Atkins warlord@MIT.EDU
16 Jan 2001 10:46:12 -0500


Ok, I've just taken a closer look.

If you go to afs/afs_call.c around line 1164...  Move the
osi_StopListener() call to happen _AFTER_ the while loop.  In other
words, make the code look like this:

    while (afs_termState == AFSOP_STOP_RXK_LISTENER) 
	afs_osi_Sleep(&afs_termState);
    osi_StopListener(); /* This closes rx_socket. */

Let me know if this fixes your problem. :)

-derek

Chas Williams <chas@cmf.nrl.navy.mil> writes:

> >On Mon, 15 Jan 2001 13:52:10 -0500, Daniel Jacobowitz wrote:
> > is sitting in wait_for_packet, and then we close the socket while still
> > in wait_for_packet, which oopses because we cleared its locked
> > structure out from under it.  I couldn't figure out the appropriate
> 
> looking at this problem again, and just sort of guessing since i dont
> know much about this section of the code, it looks like one of the 
> afsd winds up stuck rxk_ListenerProc().  the shutdown kill -9's this
> listenerproc which doesnt allow it to complete since it seems to
> want to set rxk_ListenerPid back to 0.  this would indicate that the
> socket is not in use.   so if osi_StopListener() would not kill -9 
> the listener proc, and signal afs_termState to be AFSOP_STOP_RXK_LISTENER
> osi_StopListener could spin on rxk_ListenerPid before closing the
> socket?
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available