resolver errors

Vernon Schryver vjs@calcite.rhyolite.com
Thu Mar 15 18:35:59 UTC 2007


> From: Sven Willenberger 

> Having just upgraded dcc-public, dcc-cl-a and dcc-cl-b (.dmv.com) to
> [12].3.54 I am now seeing the following error in my logfiles :
>
> fork(flod_names_resolve_start): Not enough space
>
> and as such flooding between my internal peers is failing


That message means that fork() returned -1 with errno set a value that
strerror(errno) translated to "Not enough space".
I suspect that this from `man fork` on a Solaris system is relevant:

]   ENOMEM
]          There is not enough swap space.

There is also this in `man mmap`:

]    time of the fork(), swap space is reserved in the child  for
]    all  private  pages  that  currently  exist  in  the parent;
]    thereafter the child's mapping behaves as described above.


Dccd forks a child to resolve the host names in the /var/dcc/flod file
so that the parent can keep working while the child waits for DNS
resolution.  The first thing the child does is close the database, but
until then the child on some UNIX-like systems might want enough swap
space to hold the database, particularly when `dccd -F` is used.  If
there is enough swap space, the cost should be allocating and then
releasing the swap space without doing any disk I/O.

Is there a shortage of swap space?  Does adding -f (small f) to DCCD_ARGS
in /var/dcc/dcc_conf make this problem go away?


Vernon Schryver    vjs@rhyolite.com



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.