Subject: Re: rumba causes processes to hang stuck in disk
To: Matthew Fredette <fredette@MIT.EDU>
From: Rick Byers <RickB@BigScaryChildren.net>
List: current-users
Date: 12/05/2000 13:27:39
On Fri, 17 Nov 2000, Matthew Fredette wrote:

> > On two seperate machines (i386) I have seen that upgrading from 1.4ish to
> > 1.5 (currently 1.5_BETA) caused rumba to stop working.  (for those that
> > don't know, rumba is a SMB/NFS translator that allows mounting resources
> > shared by Windows machines).  I can mount resources fine and even navigate
> > the directories.  However attempting to read the contents of a file
> > (usually a large file) causes the process to hang.  The rumba process can
> > be killed (with SIGKILL) but the directory cannot be unmounted.  Any
> > attempt to access the directory (including unmounting) causes the process
> > to get hung (ps indicates its stuck in disk).  No amount of kill or kill -9
> > will get rid of the processes.
> >
> [..]
> 
> I think this is the same problem I ran into when developing a
> userspace NFS daemon under 1.5_ALPHA.  libc's RPC implementation will
> not handle packets larger than 8192 bytes when fully assembled, and
> NFS read and write packets with 8k blocks of data are larger.  I bet
> rumba's read replies are never getting back to the kernel.
> 
> I filed lib/11464 last week about __rpc_get_t_size, a function in
> lib/libc/rpc/rpc_generic.c.  It causes the 8192-byte limitation.

A friend of mine applied that patch and it fixed the problem on his
machine.  I've been meaning to try it on my own machine and append a
comment to the end of your GNAT once I verified it, but I haven't had a
chance.

Just thought I'd let you and others know that it appears to fix the
problem with rumba in the hopes that the priority of fixing your GNAT will
get increased.

Thanks!
	Rick