Flood in miniserv.error - Port number above 0xFFFF, will be truncated to 3 for Socket::pack_sockaddr_in at /usr/libexec/webmin/fastrpc.cgi line 352

SYSTEM INFORMATION
OS type and version AlmaLinux release 9.4
Webmin version 2.111
Cloudmin version 9.7 KVM

The process
/usr/bin/perl /usr/libexec/webmin/fastrpc.cgi
suddenly starts to use 100% CPU and flood to miniserv.error tons of messages like:

Port number above 0xFFFF, will be truncated to 0 for Socket::pack_sockaddr_in at /usr/libexec/webmin/fastrpc.cgi line 352.
Port number above 0xFFFF, will be truncated to 1 for Socket::pack_sockaddr_in at /usr/libexec/webmin/fastrpc.cgi line 352.
Port number above 0xFFFF, will be truncated to 2 for Socket::pack_sockaddr_in at /usr/libexec/webmin/fastrpc.cgi line 352.

the number in records changed from 0 to 65535 by loop. SDD partition 200GB become full in a hour.

By using strace I see these system calls


bind(3, {sa_family=AF_INET, sin_port=htons(2200), sin_addr=inet_addr(“0.0.0.0”)}, 16) = -1 EINVAL (Invalid argument)
write(2, “Port number above 0xFFFF, will b”…, 126) = 126
bind(3, {sa_family=AF_INET, sin_port=htons(2201), sin_addr=inet_addr(“0.0.0.0”)}, 16) = -1 EINVAL (Invalid argument)
write(2, “Port number above 0xFFFF, will b”…, 126) = 126

the error EINVAL means:
EINVAL The socket is already bound to an address.
EINVAL addrlen is wrong, or addr is not a valid address for this
socket’s domain.

In the log error EINVAL (Invalid argument), but I not sure which argument is invalid.

In the fastrpc.cgi mentioned lines is
350 while(1) {
351 $$port++;
352 $pack = pack_sockaddr_in($$port, INADDR_ANY);
353 next if (!bind($fh, $pack));

358 last;
359 }

The fastrpc.cgi running process file descriptors is

ls -l /proc/279355/fd

lr-x------. 1 root root 64 Jun 13 06:44 0 → /usr/libexec/webmin/fastrpc.cgi
l-wx------. 1 root root 64 Jun 13 06:44 1 → ‘pipe:[1587367]’
l-wx------. 1 root root 64 Jun 13 06:44 2 → ‘/tmp/.webmin/706593_279128_1_webmincron.pl (deleted)’
lrwx------. 1 root root 64 Jun 13 06:44 3 → ‘socket:[1588754]’
lrwx------. 1 root root 64 Jun 13 06:44 4 → ‘socket:[1588755]’

I see same error message in the another topic

But looks the problem was not solved in real.

Access to my webinterface restricted by IP, no strangers allowed.

Looks ugly. Isn’t webmin/fastrpc.cgi used to communicate between Virtualmin servers.

Yes it is, if you have servers setup in webmin servers index you can get status’s from remote services the bug that produces the log file has been fixed but not released yet

So, this is a bug.
Do you know any details? Have you bug tracker link?
When we can expect this fixed?

Well if you read all of the thread you linked to you will see the bug has been fixed but not released, you could use a development version of webmin to fix or just wait. I have instance running a developmental version another running the release version, the developmental version does work fine, as a fix using the release version i just removed the remote monitors that attached to the server but I still think it’s not fully fixed

Can you apply this patch and see if it resolves the issue for you?

Hello, Ilia,
I have applied the patch. Thanks a lot)
I sure it will help )
I’ll write back if I’ll see the error message in log. I’ll try my best to understand why script can not bind a port.

Thanks! Yeah, that would help a lot!

Hi,
In which version of webmin is the error fixed?

It will be fixed in Webmin 2.200 version.

@ghost23 However, what is causing those multiple connections? Apparently, something is flooding your connections to Webmin. Can you run more tests or provide @Jamie or me with root access so we can run deeper tests?