[OpenAFS-devel] oops on trying to unmount /afs [i386_linux24, SMP]

Daniel Jacobowitz dmj+afs@andrew.cmu.edu
Sun, 26 Nov 2000 17:09:56 -0500


On Mon, Nov 20, 2000 at 05:58:18PM -0500, Chas Williams wrote:
> >The best guess I have is that afsd tried to generate traffic and the afs
> >module tries to process it while we're shutting down - perhaps something is
> >not being done atomically?  I've never successfully unmounted AFS on this
> >configuration, while I know that it works on 2.2 UP systems.
> 
> i saw this problem while debugging the linux 2.4 version of afs.
> the sock_release() in LINUX/rx_knet.c is the 'culprit'.  the socket
> is freed, but its looks like someone is still using it at the time.
> i 'fixed' the problem by commenting sock_release() and printk'ing
> a reminder.  perhaps a lock_kernel()/unlock_kernel() around the
> sock_release()?
> 
> >>>EIP; c0123c4a <remove_wait_queue+6/24>   <=====
> >Trace; c0216fd6 <wait_for_packet+e6/12c>
> >Trace; c02170ec <skb_recv_datagram+d0/f0>
> >Trace; c023b805 <udp_recvmsg+55/230>
> >Trace; c0240ee0 <inet_recvmsg+58/70>
> >Trace; c02137a1 <sock_recvmsg+3d/ac>
> >Trace; ca958c7d <[openafs.mp]osi_NetReceive+bd/f8>

Well, do you mean the sock_release in rxk_NewSocket or in
osi_StopListener?  I can't see how the one in rxk_NewSocket could be
the problem, but I see that it's commented out.

I'm about to try with a lock_kernel() around the other and see if it
helps any.

Dan

/--------------------------------\  /--------------------------------\
|       Daniel Jacobowitz        |__|        SCS Class of 2002       |
|   Debian GNU/Linux Developer    __    Carnegie Mellon University   |
|         dan@debian.org         |  |       dmj+@andrew.cmu.edu      |
\--------------------------------/  \--------------------------------/