1836001 Members
2445 Online
110088 Solutions
New Discussion

error 233 & 226

 
SOLVED
Go to solution
Anil_5
Advisor

error 233 & 226

Our IBM Apache web server hangs on the HP-Unix 11.0 with these 2 messages " 233 No Buffer Space Avialable" & "226 port 80 already in use"

The Apache web server stops responding and only a restart will make it work again.

I think some kernel parameters needs to changed, but I want some help in finding out which one.
webapp
10 REPLIES 10
harry d brown jr
Honored Contributor

Re: error 233 & 226

Could you list your existing kernel params? What does your /etc/services file say for port 80? Also, is this version of "IBM Apache" compiled for 11 or ported from 10.20?
Live Free or Die
Anil_5
Advisor

Re: error 233 & 226

Thanks,

The IBM Apache Server is for 11.0 and not ported from 10.0. The WebServer(Apache) keeps working fine and then stops responding - "[crit] (226)Address already in use: make_sock: could not bind to port 80".
until we do a restart of Apache.The /etc/services file is OK and we have this server in production for over an year.We did not have this error earlier but the number of applications have increased.

I will send you a list of kernel parameters.
webapp
Santosh Nair_1
Honored Contributor

Re: error 233 & 226

From the tcp(7p) man page:

[ENOBUFS] No buffer space is available for an
internal data structure.
See this URL for more details:

http://us-support.external.hp.com/cki/bin/doc.pl/sid=d862b1dc024cd46c21/screen=ckiDisplayDocument?docId=200000056251095

Firstly, I would try to fix the second error, i.e. the one indicating that the address is already in use. Just make sure that nothing is LISTENing on port 80:

netstat -na|grep 80|grep LISTEN

If there is something...try to kill it. You may have to use lsof to hunt down the process...but most likely its some sort of web server. If you have lsof on your system, you can determine the processid of the LISTENing process using the command:

lsof -i TCP:80.

Then after killing this process, try bringing apache up.

-Santosh
Life is what's happening while you're busy making other plans
Anil_5
Advisor

Re: error 233 & 226

When the Apache Server stops responding, it seems to kill all child process. It seems like port 80 is not being released.
webapp
Anil_5
Advisor

Re: error 233 & 226

Server Kernel Parameters
webapp
Santosh Nair_1
Honored Contributor

Re: error 233 & 226

One thing I would look at is increasing maxdsize. Right now you have it set to the default value, which is probably way too small.

-Santosh
Life is what's happening while you're busy making other plans
Anil_5
Advisor

Re: error 233 & 226

Hi,
Any suggestions on what we should look at for "[crit] (226)Address already in use: make_sock: could not bind to port 80" This error is listed on HP-Unix m/c in the /usr/include/sys/errno.h file as " EADDRINUSE 226 /* Address already in use */.

This causes our web server to stop responding. Do you this this could also be related to the maxdsiz being too small.
webapp
Santosh Nair_1
Honored Contributor

Re: error 233 & 226

This error sounds more like apache not properly giving up the port after it dies(?). If you do a netstat -na|grep port 80|grep LISTEN, do you see:

tcp 0 0 *.80 *.* LISTEN

if so, then some process is already bound to that port, probably the previous incarnation of apache. Just make sure to kill off this process (lsof comes in handy in determining the process) and then try restarting apache.

-Santosh
Life is what's happening while you're busy making other plans
Anil_5
Advisor

Re: error 233 & 226

It is the reverse here, in the sense that, Apache is running , then it stops responding and we get the error as mentioned i.e 233.
Then when this happens the only option is to restart Apache---note this is a production server
webapp
Santosh Nair_1
Honored Contributor
Solution

Re: error 233 & 226

Okay, new hypothesis...apache runs out of space, i.e. hits the maxdsiz limit and doesn't know how to proceed. At this point, you would have to kill/shutdown apache (thereby releasing the memory that it was holding) and restart it.

But after restarting its just a matter of time till you run into this limit again.

So I would again recommend increasing maxdsiz kernel parameter (this would require a reboot).

-Santosh
Life is what's happening while you're busy making other plans