[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IRC-Problem



On Wed, Apr 05, 2000 at 11:27:26AM -0700, Diane Bruce wrote:
>
>   No. The original error he reported points to a problem in the OS
> not the ircd. As I said, on BSD look for insufficent mbufs.
> You can have all the dbufs in the world, but if there aren't enough
> mbufs, its not going to help.

He send a mail with some of the errors, including:

 Signoff: ST25 (dbuf_put fail)
Apr  3 12:07:26 syssun9 ircd[29215]: Buffer allocation error for
ST813[^ST813@xxxxxxxxxxxx]

Signoff: ST337 (Resource temporarily unavailable)

First two are clearly dbuf problems. It's because dbuf_put failed.
If the freelist is empty, there are 2 possible ways to deal with it. It
first checks if the poolsize isn't "used up" yet, and returns -2 if it is.
The function that called dbuf_put then can increase the poolsize, which
only happens for servers during burst. If the poolsize isn't used up, he
can alloc more, if that fails it returns -1.

So it either refuses to alloc more at this time (-2) or can't alloc more
(-1). It's probably returning -2 in his case, which is then an ircd
problem, and not an OS problem. The "easy" way to "fix" this is to always
try to alloc (and never return -2).

You can also increase the poolsize like Christophe Kalt explained by
killing ircd and changing it in ircd.tune, and restart it. You could also
try to play a little with ircd if you don't want to restart it, but then
don't forget to change it in ircd.tune too, else next time you start it
you might have the same problem.

The last error message might be an OS related problem. He's using Solaris
2.6.


Kurt