[syslinux] TFTPD: Cannot open /etc/hosts.{allow, deny}: Too many open files
Narendra Prasad Madanapalli
narendramind at gmail.com
Sun Aug 21 04:38:38 PDT 2011
Hi,
I have been running TFTPD server for 3 weeks and performed about 100
deployments. After that, TFTPD started throwing the follwing errotrs in
/var/log/messages
Aug 20 21:52:55 RTP-OSP-Server tftpd[7146]: warning: cannot open
/etc/hosts.allow: Too many open files
Aug 20 21:52:55 RTP-OSP-Server tftpd[7146]: warning: cannot open
/etc/hosts.deny: Too many open files
Aug 20 21:52:55 RTP-OSP-Server tftpd[7146]: connection refused from 0.0.0.0
Aug 20 21:52:57 RTP-OSP-Server tftpd[7147]: warning: cannot open
/etc/hosts.allow: Too many open files
Aug 20 21:52:57 RTP-OSP-Server tftpd[7147]: warning: cannot open
/etc/hosts.deny: Too many open files
Aug 20 21:52:57 RTP-OSP-Server tftpd[7147]: connection refused from 0.0.0.0
Here is the output of lsof -p 20782 -l
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
tftpd 20782 0 cwd DIR 253,0 4096 13205505 /opt/tftpboot
tftpd 20782 0 rtd DIR 253,0 4096 2 /
tftpd 20782 0 txt REG 253,0 27984 32871493
/opt/tftp/sbin/tftpd
tftpd 20782 0 mem REG 253,0 125736 20841853 /lib/
ld-2.5.so
tftpd 20782 0 mem REG 253,0 1602128 20841854 /lib/
libc-2.5.so
tftpd 20782 0 mem REG 253,0 32856 54860420
/usr/lib/libwrap.so.0.7.6
tftpd 20782 0 mem REG 253,0 101404 20841866 /lib/
libnsl-2.5.so
tftpd 20782 0 mem REG 253,0 46680 20840489 /lib/
libnss_files-2.5.so
tftpd 20782 0 0u CHR 1,3 1574 /dev/null
tftpd 20782 0 1u CHR 1,3 1574 /dev/null
tftpd 20782 0 2u CHR 1,3 1574 /dev/null
tftpd 20782 0 3u unix 0xf73a2ac0 2943680 socket
tftpd 20782 0 4u IPv4 2943683 UDP *:tftp
tftpd 20782 0 5u sock 0,5 2945126 can't
identify protocol
tftpd 20782 0 6u sock 0,5 2946157 can't
identify protocol
tftpd 20782 0 7u sock 0,5 2947174 can't
identify protocol
tftpd 20782 0 8u sock 0,5 2952758 can't
identify protocol
tftpd 20782 0 9u sock 0,5 2953809 can't
identify protocol
tftpd 20782 0 10u sock 0,5 2959221 can't
identify protocol
tftpd 20782 0 11u sock 0,5 2965427 can't
identify protocol
tftpd 20782 0 12u sock 0,5 2968500 can't
identify protocol
.......
......
tftpd 20782 0 1019u sock 0,5 4833123 can't
identify protocol
tftpd 20782 0 1020u sock 0,5 4839162 can't
identify protocol
tftpd 20782 0 1021u sock 0,5 4840216 can't
identify protocol
tftpd 20782 0 1022u sock 0,5 4841243 can't
identify protocol
tftpd 20782 0 1023u sock 0,5 4842249 can't
identify protocol
And the output of limits
# cat /proc/sys/fs/file-max
754278
# cat /proc/sys/fs/file-nr
2496 0 754278
# ulimit -n
1024
I am not sure why TFTPD is not closing all opened sockets.
I noticed in the file tftp-hpa-5.0/tftpd/tftpd.c around line 906 it opens a
socket and there is no corresponding close() statemnt for that.
Any help on this would be highly appreciated?
Thanks,
Narendra.
More information about the Syslinux
mailing list