I have been using Virtual Here server on Raspberry Pi 3B (server version 4.2.0) with three clients - Windows 10, Ubuntu 20.04 and Mac OS 11 (client version 5.2.0) for some time and I have noticed that after some time - two weeks usually, the Virtual Here server process runs out available file descriptors (Linux limits 1024 for the process) and I receive the following message: Error 24 opening device (/dev/bus/usb/001/043) file descriptor, No file descriptors available
I think that there must be some sort of file descriptor leak. Could you please help me find the problem? I have pasted the list of all VH file descriptors to file here (output of lsof command): https://drive.google.com/file/d/1rRYuA7nRie1IXT5J9FlMUveBKeqziIHC/view?…
Hi, thanks for the detailed, log. Could you update the server to the latest server version, i think that fixes the leak. The leak was related to avahi integration.
Hi! I've got the similar problem vhusbdx86_64 v4.3.7 on Intel NUC with Ubuntu server 20.04
Mar 05 06:46:08 virtualhere-nuc vhusbdx86_64: Error 24 starting client authorization, No file descriptors available
Mar 05 06:46:08 virtualhere-nuc vhusbdx86_64: Error binding device 111 [0a89:0025] to connection 227, BIND_ERROR
Mar 05 06:46:12 virtualhere-nuc vhusbdx86_64: Error 24 starting client authorization, No file descriptors available
Mar 05 06:46:12 virtualhere-nuc vhusbdx86_64: Error binding device 1132 [0a89:0025] to connection 227, BIND_ERROR
Can you post the output of
lsof on the server when it happens again? Maybe in pastebin
Michael, here's lsof output: https://www.dropbox.com/s/vgm7ruuhr72hez6/lsof.txt?dl=0. It's too big for pastebin, so I uploaded it to dropbox.
Thanks, can you stop the virtualhere server then edit the server config.ini file and add the line
Then save and start the process again. See if that resolves it
Thank you. I'll try it and return with feedback.
Michael, it looks like this doesn't helps. It's been 36 hours since I've restarted virtualhere server and the number of its open file descriptors are already reached 50k and continues to grow.
Can you post here your server config.ini file
What does auth.sh do? I wonder if that could that be leaking instead (it would be a child of the vhusbdx86_64 process). VirtualHere only uses one netlink socket and that doesnt leak so im wondering if it might be some program you are calling in auth.sh.
Do you have this directory
/etc/avahi/services on your server, with files in it?
No. It seems like no avahi in my system at all.
Ah ok, so thats it. Actually if you look carefully in the log it will probably say "Linux AVAHI daemon not installed, using built-in mdns server instead"
So can you install avahi so that virtualhere server can use it.
sudo apt install avahi-daemon
Then reboot your server or stop/start the virtualhere server service
(The fallback is to use the mdns internal server but it has a leak in it and thats what you are encountering)
Thank you. I'll try it and continue to monitor and return with any updates.
Thank you again! Your advice helped me to solve this problem.
OK thats great, im glad its all fixed now