Re: Squid problem: "ipcache_create_dnsserver: fork: (35) Operation would block"

From: Duane Wessels <wessels>
Date: Wed, 11 Sep 96 09:39:04 -0700

bortzmeyer@pasteur.fr writes:

>
>I run Squid 1.0.9 on an Digital Unix (ex-OSF1) 4.0 machine. When I 'kill
>-HUP' Squid to reread the configuration file, most of the time (but not
>always) I get this:
>
>[11/Sep/1996:10:20:27 +0200] ipcache.c:1053: ipcacheOpenServers:
>Starting 5 'dns_server' processes
>[11/Sep/1996:10:20:27 +0200] ipcache.c:256: ipcache_create_dnsserver:
> fork: (35) Operation would block
>[11/Sep/1996:10:20:27 +0200] ipcache.c:1057: ipcacheOpenServers:
>WARNING: Cannot run 'dnsserver' process.
>[11/Sep/1996:10:20:27 +0200] ipcache.c:1058: Fallling
>back to the blocking version.
>
>
>I have to 'kill -INT' Squid and restart it to have the DNS servers :-(
>
>More facts:
>
>- Squid exhibit this behaviour since at least version 1.0 (we upgrade
>regularly but it doesn't affect the bug),
>- I manage another cache on an Alpha with the same version of Digital
>Unix and of Squid. It never has the problem (its load is much lower). So
>I cannot do extensive tests because the only machine with the symptoms is
>an important server which I cannot stop at will,
>- the manual page on fork does not list EWOULDBLOCK "Operation would
>block" as a possible result (EAGAIN and ENOMEM are the only ones).

I think what happens is that squid fork()'s a number of times before
it exec()'s the dnsservers. So you end up with a number of large
squid processes hogging all the VM.

I think I have fixed this for v1.1. You might try adding a
sleep() or usleep() call just before the function returns
in the parent process.

Duane W.
Received on Wed Sep 11 1996 - 09:39:09 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:32:59 MST