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.