write(1, "opened 2000 files\n", 18opened 2000 files ) = 18 dup2(2004, 1) = 1 close(2004) = 0 fcntl64(1, F_SETFD, 0) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb130d8) = -1 ENOTTY (Inapp +ropriate ioctl for device) _llseek(1, 0, [0], SEEK_CUR) = 0 socketpair(PF_FILE, SOCK_STREAM, 0, [2004, 2005]) = 0 ioctl(2004, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(2004, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(2004, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(2004, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(2005, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(2005, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(2005, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(2005, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) fcntl64(2004, F_SETFD, FD_CLOEXEC) = 0 fcntl64(2005, F_SETFD, FD_CLOEXEC) = 0 ioctl(2005, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb130d8) = -1 EINVAL (In +valid argument) _llseek(2005, 0, 0xbfb13120, SEEK_CUR) = -1 ESPIPE (Illegal seek) fstat64(2005, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 dup2(2005, 1) = 1 dup(2005) = 2006 fcntl64(2005, F_GETFD) = 0x1 (flags FD_CLOEXEC) dup2(2006, 2005) = 2005 fcntl64(2005, F_SETFD, FD_CLOEXEC) = 0 close(2006) = 0 fcntl64(1, F_SETFD, 0) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb130d8) = -1 EINVAL (Inval +id argument) _llseek(1, 0, 0xbfb13120, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(2005, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13108) = -1 EINVAL (In +valid argument) _llseek(2005, 0, 0xbfb13150, SEEK_CUR) = -1 ESPIPE (Illegal seek) fstat64(2005, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 dup2(2005, 1) = 1 fcntl64(1, F_SETFD, 0) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb130d8) = -1 EINVAL (Inval +id argument) _llseek(1, 0, 0xbfb13120, SEEK_CUR) = -1 ESPIPE (Illegal seek) dup(3) = 2006 ioctl(2006, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13108) = -1 EINVAL (In +valid argument) _llseek(2006, 0, 0xbfb13150, SEEK_CUR) = -1 ESPIPE (Illegal seek) fstat64(2006, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 dup2(2006, 1) = 1 close(2006) = 0 fcntl64(1, F_SETFD, 0) = 0 close(2005) = 0 ...many more close() calls... close(5) = 0 close(4) = 0 dup(3) = 4 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13108) = -1 EINVAL (Inval +id argument) _llseek(4, 0, 0xbfb13150, SEEK_CUR) = -1 ESPIPE (Illegal seek) fstat64(4, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 write(1, "no problem with 2000!\n", 22no problem with 2000!
write(1, "opened 4000 files\n", 18opened 4000 files ) = 18 dup2(4004, 1) = 1 close(4004) = 0 fcntl64(1, F_SETFD, 0) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb130d8) = -1 ENOTTY (Inapp +ropriate ioctl for device) _llseek(1, 0, [0], SEEK_CUR) = 0 socketpair(PF_FILE, SOCK_STREAM, 0, [4004, 4005]) = 0 ioctl(4004, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(4004, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(4004, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(4004, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(4005, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(4005, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(4005, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb13258) = -1 EINVAL (In +valid argument) _llseek(4005, 0, 0xbfb132a0, SEEK_CUR) = -1 ESPIPE (Illegal seek) fcntl64(4004, F_SETFD, FD_CLOEXEC) = 0 fcntl64(4005, F_SETFD, FD_CLOEXEC) = 0 ioctl(4005, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb130d8) = -1 EINVAL (In +valid argument) _llseek(4005, 0, 0xbfb13120, SEEK_CUR) = -1 ESPIPE (Illegal seek) fstat64(4005, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 dup2(4005, 1) = 1 dup(4005) = 4006 fcntl64(4005, F_GETFD) = 0x1 (flags FD_CLOEXEC) close(4005) = 0 dup2(4006, 4005) = 4005 fcntl64(4005, F_SETFD, FD_CLOEXEC) = 0 close(4006) = 0 fcntl64(1, F_SETFD, 0) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb130d8) = -1 EINVAL (Inval +id argument) _llseek(1, 0, 0xbfb13120, SEEK_CUR) = -1 ESPIPE (Illegal seek) open("/usr/share/locale/locale.alias", O_RDONLY) = 4006 fstat64(4006, {st_mode=S_IFREG|0644, st_size=2582, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, + 0) = 0xb7fc8000 read(4006, "# Locale name alias data base.\n#"..., 4096) = 2582 read(4006, "", 4096) = 0 close(4006) = 0 munmap(0xb7fc8000, 4096) = 0 open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = +-1 ENOENT (No such file or directory) open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = - +1 ENOENT (No such file or directory) open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 4006 fstat64(4006, {st_mode=S_IFREG|0644, st_size=1474, ...}) = 0 mmap2(NULL, 1474, PROT_READ, MAP_PRIVATE, 4006, 0) = 0xb7fc8000 close(4006) = 0 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 4006 fstat64(4006, {st_mode=S_IFREG|0644, st_size=21568, ...}) = 0 mmap2(NULL, 21568, PROT_READ, MAP_SHARED, 4006, 0) = 0xb7cdc000 close(4006) = 0 futex(0xb7f87dec, FUTEX_WAKE, 2147483647) = 0 open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 +ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 E +NOENT (No such file or directory) open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT + (No such file or directory) write(2, ">&= fd - Illegal seek at lotsoff"..., 49>&= fd - Illegal see +k at lotsoffiles.pl line 23. ) = 49
In reply to Re^2: perl bug? illegal seek with dup and many filehandles
by flipper
in thread perl bug? illegal seek with dup and many filehandles
by flipper
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |