[BlueOnyx:26964] Re: ERROR: FPM initialization failed

Michael Stauber mstauber at blueonyx.it
Thu May 9 18:56:14 -05 2024


Hi Ken,

> I am seeing this error in the FPM logs
> [09-May-2024 13:50:20] ERROR: unable to bind listening socket for 
> address '127.0.0.1:9090 <http://127.0.0.1:9090>': Address already in use 
> (98)
> [09-May-2024 13:50:20] ERROR: FPM initialization failed
> 
> 
> In the conf file
> grep 9090  /etc/php-fpm*/site*.conf
> /etc/php-fpm-7.4.d/site89.conf:listen = 127.0.0.1:9090 
> <http://127.0.0.1:9090>
> 
> netstat shows
> netstat -tupan | grep 9090
> tcp        0      0 127.0.0.1:9090 <http://127.0.0.1:9090>         
>   0.0.0.0:*               LISTEN      143/prometheus
> tcp        0      0 127.0.0.1:38586 <http://127.0.0.1:38586> 
> 127.0.0.1:9090 <http://127.0.0.1:9090>          ESTABLISHED 143/prometheus
> tcp        0      0 127.0.0.1:9090 <http://127.0.0.1:9090> 
> 127.0.0.1:38586 <http://127.0.0.1:38586>         ESTABLISHED 143/prometheus
> 
> Possibly FPM can be set to not use that port?


I just checked the code that does this and it wasn't good enough. It ran 
off some assumptions that ports in the given port range were free, but 
didn't really check if that was true.

Excluding the Prometheus port 9090 would help, but if we (or you) ever 
try to bind something else in that port range we'd have similar problems.

So I extended the code to actually check if the desired port is free and 
if not, we increment the port number and test again until we either find 
a free port, or run out of port numbers to use:

https://devel.blueonyx.it/trac/changeset?reponame=&new=5261%40%2F&old=5259%40%2F

However: I'm not entirely comfortable with how invasive this code change 
is and don't want to publish it to the regular YUM repositories right 
away this short before a long weekend.

So I published it to the "Testing" YUM repositories of BlueOnyx 5210R 
and 5211R.

If you want to test it, edit /etc/yum.repos.d/BlueOnyx.repo and find the 
section ...

[BlueOnyx-5210R-Testing]
... or ...
[BlueOnyx-5211R-Testing]

... and within that section set the line ...

enabled=0

... to ...

enabled=1

... and save the changes.

Then do a "yum clean all" and "yum update" to get the newest 
base-apache-* RPMs with this change.

Let me know if it works for you.

-- 
With best regards

Michael Stauber


More information about the Blueonyx mailing list