Subject: NetBSD-4 RC3: broken ulimit -n
To: None <netbsd-help@NetBSD.org>
From: Aleksey Cheusov <cheusov@tut.by>
List: netbsd-help
Date: 10/25/2007 10:16:10
It seems to me that 'ulimit -n' (a number of open files limit) is broken
in NetBSD RC-3. See the folllowing typescript.
uname: NetBSD chen.chizhovka.net 4.0_RC3 NetBSD 4.0_RC3 (GENERIC) #2: Sat Oct 20 21:41:02 EEST 2007 cheusov@chen.chizhovka.net:/srv/src/sys/arch/i386/compile/GENERIC i386
0 ~>ulimit -a
time(cpu-seconds) unlimited
file(blocks) unlimited
coredump(blocks) unlimited
data(kbytes) 716800
stack(kbytes) 2048
lockedmem(kbytes) 210434
memory(kbytes) 631304
nofiles(descriptors) 1048
processes 384
sbsize(bytes) unlimited
0 ~>ulimit -n
1048
0 ~>awk 'BEGIN {for (i=1; i <= 2000; ++i){print uraaa > ("/tmp/file_number_" i)}}'
awk: /tmp/file_number_18 makes too many open files
source line number 1
2 ~>ls -la /tmp/file_numb* | wc -l
17
0 ~>ktrace awk 'BEGIN {for (i=1; i <= 2000; ++i){print uraaa > ("/tmp/file_number_" i)}}'
awk: /tmp/file_number_18 makes too many open files
source line number 1
2 ~>kdump | grep open | wc -l
63
0 ~>kdump | grep -C1 open
6986 1 awk RET mmap -1145135104/0xbbbea000
6986 1 awk CALL open(0xbbbfbb9e,0,0xffffffff)
6986 1 awk NAMI "/etc/ld.so.conf"
6986 1 awk RET open 3
6986 1 awk CALL __fstat30(3,0xbfbfdedc)
--
6986 1 awk RET __sysctl 0
6986 1 awk CALL open(0xbfbfd8b0,0,0)
6986 1 awk NAMI "/usr/local/lib/libm387.so.0"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0)
6986 1 awk NAMI "/usr/X11R6/lib/libm387.so.0"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0)
6986 1 awk NAMI "/usr/pkg/lib/libm387.so.0"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0)
6986 1 awk NAMI "/usr/lib/libm387.so.0"
6986 1 awk RET open 3
6986 1 awk CALL __fstat30(3,0xbfbfd7f8)
--
6986 1 awk RET close 0
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/local/lib/libm.so.0"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/X11R6/lib/libm.so.0"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/pkg/lib/libm.so.0"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/lib/libm.so.0"
6986 1 awk RET open 3
6986 1 awk CALL __fstat30(3,0xbfbfd7f8)
--
6986 1 awk RET close 0
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/local/lib/libc.so.12"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/X11R6/lib/libc.so.12"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/pkg/lib/libc.so.12"
6986 1 awk RET open -1 errno 2 No such file or directory
6986 1 awk CALL open(0xbfbfd8b0,0,0xbfbfd7f8)
6986 1 awk NAMI "/usr/lib/libc.so.12"
6986 1 awk RET open 3
6986 1 awk CALL __fstat30(3,0xbfbfd7f8)
--
6986 1 awk RET issetugid 0
6986 1 awk CALL open(0xbfbfca2c,0,0x1b6)
6986 1 awk NAMI "/usr/share/locale/ru_RU.CP1251/LC_CTYPE"
6986 1 awk RET open 3
6986 1 awk CALL __fstat30(3,0xbfbfc964)
--
6986 1 awk RET break 0
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_1"
6986 1 awk RET open 3
6986 1 awk CALL __fstat30(3,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_2"
6986 1 awk RET open 4
6986 1 awk CALL __fstat30(4,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_3"
6986 1 awk RET open 5
6986 1 awk CALL __fstat30(5,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_4"
6986 1 awk RET open 7
6986 1 awk CALL __fstat30(7,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_5"
6986 1 awk RET open 8
6986 1 awk CALL __fstat30(8,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_6"
6986 1 awk RET open 9
6986 1 awk CALL __fstat30(9,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_7"
6986 1 awk RET open 10/0xa
6986 1 awk CALL __fstat30(0xa,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_8"
6986 1 awk RET open 11/0xb
6986 1 awk CALL __fstat30(0xb,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_9"
6986 1 awk RET open 12/0xc
6986 1 awk CALL __fstat30(0xc,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_10"
6986 1 awk RET open 13/0xd
6986 1 awk CALL __fstat30(0xd,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_11"
6986 1 awk RET open 14/0xe
6986 1 awk CALL __fstat30(0xe,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_12"
6986 1 awk RET open 15/0xf
6986 1 awk CALL __fstat30(0xf,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_13"
6986 1 awk RET open 16/0x10
6986 1 awk CALL __fstat30(0x10,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_14"
6986 1 awk RET open 17/0x11
6986 1 awk CALL __fstat30(0x11,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_15"
6986 1 awk RET open 18/0x12
6986 1 awk CALL __fstat30(0x12,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_16"
6986 1 awk RET open 19/0x13
6986 1 awk CALL __fstat30(0x13,0xbfbfdce8)
--
6986 1 awk RET write 1
6986 1 awk CALL open(0x8074a00,0x601,0x1b6)
6986 1 awk NAMI "/tmp/file_number_17"
6986 1 awk RET open 20/0x14
6986 1 awk CALL __fstat30(0x14,0xbfbfdce8)
--
6986 1 awk GIO fd 2 wrote 45 bytes
"/tmp/file_number_18 makes too many open files"
6986 1 awk RET write 45/0x2d
0 ~>
--
Best regards, Aleksey Cheusov.