Messages in this thread Patch in this message | | | Date | Sun, 28 Feb 1999 11:31:30 -0500 (EST) | From | Alexander Viro <> | Subject | [PATCH] Re: Kernel panic: can't push onto full stack |
| |
On Sun, 28 Feb 1999, Alan Cox wrote:
> > configured machines. After the kernel panics, the machine is still > > pingable and seems to almost establish tcp connections, but > > just hangs. All services running on the machines no longer function. > > Thats what I would expect. > > > What exactly does this error mean? The machines have plenty of ram and > > It means something very bad happened in a situation where a lot of file > handles were being passed across sockets. > > I've been pondering this one (you are the third report I've seen). It > basically implies a bug in the mark/sweep garbage collector, or a race > of some kind.
Latter. Patch follows (I've sent it to Alexey a minute ago):
--- garbage.c Sun Feb 28 11:10:09 1999 +++ garbage.c.new Sun Feb 28 11:18:20 1999 @@ -171,16 +171,18 @@ if(stack==NULL || max_files>max_stack) { + i = max_files; if(stack) vfree(stack); - stack=(unix_socket **)vmalloc(max_files*sizeof(struct unix_socket *)); - if(stack==NULL) + stack=(unix_socket **)vmalloc(i*sizeof(struct unix_socket *)); + if (stack) + max_stack = i; + if(stack==NULL || i<max_files) { printk(KERN_NOTICE "unix_gc: deferred due to low memory.\n"); in_unix_gc=0; return; } - max_stack=max_files; } forall_unix_sockets(i, s) Cheers, Al
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |