Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 May 2008 01:16:28 -0400
From:      "Philip M. Gollucci" <pgollucci@p6m7g8.com>
To:        oxy <oxy@field.hu>
Cc:        freebsd-apache@freebsd.org
Subject:   Re: increasing file descriptors
Message-ID:  <48228CAC.3030206@p6m7g8.com>
In-Reply-To: <48200E67.8080208@field.hu>
References:  <48200E67.8080208@field.hu>

next in thread | previous in thread | raw e-mail | index | archive | help
oxy wrote:
> the error in httpd-error.log is:
> /usr/src/lib/bind/isc/../../../contrib/bind9/lib/isc/unix/socket.c:2238: 
> REQUIRE(maxfd <= (int)1024U) failed.
> /usr/src/lib/bind/isc/../../../contrib/bind9/lib/isc/unix/socket.c:2238: 
> REQUIRE(maxfd <= (int)1024U) failed.
> /usr/src/lib/bind/isc/../../../contrib/bind9/lib/isc/unix/socket.c:2238: 
> REQUIRE(maxfd <= (int)1024U) failed.
You aren't running out of file descriptions, you are confusing bind.

Why are these errors in your httpd logs?  If you were out of file 
descriptors, you would see


file: table is full

check the dmesg buffer. Are you using mod_domain in httpd ?

 > 
 >/usr/src/lib/bind/isc/../../../contrib/bind9/lib/isc/unix/socket.c:2238:
 > REQUIRE(maxfd <= (int)1024U) failed.

As seen in the actual source file:
   REQUIRE(maxfd <= (int)FD_SETSIZE);

that (int)1024U comes from
/usr/src/sys/sys/select.h
/*
  * Select uses bit masks of file descriptors in longs.  These macros
  * manipulate such bit fields (the filesystem macros use chars).
  * FD_SETSIZE may be defined by the user, but the default here should
  * be enough for most uses.
  */
#ifndef FD_SETSIZE
#define FD_SETSIZE      1024U
#endif

You can raise this, but you'll need to recompile bind too.
I'd start with 2048U if I were you.

Bind does this b/c it indexes arrays for sockets based on this.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48228CAC.3030206>