bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/17483] New: ar is limited to open only 256 files on i386-s


From: karel.gardas at centrum dot cz
Subject: [Bug binutils/17483] New: ar is limited to open only 256 files on i386-solaris2.11
Date: Tue, 14 Oct 2014 08:49:31 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=17483

            Bug ID: 17483
           Summary: ar is limited to open only 256 files on
                    i386-solaris2.11
           Product: binutils
           Version: 2.24
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: karel.gardas at centrum dot cz

Hello,

I've compiled binutils 2.24 on Solaris 11 (using --disable-werror) on i386
platform and later while using compiled ar I've found out that it refuses to
archive more than 256 files into the archive. The failure looks like:

i386-rtems4.11-ar: lib_a-memset.o: Too many open files

I've verified that ulimit -a tells me that the limit for open files is high
enough:
$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
open files                      (-n) 65456
pipe size            (512 bytes, -p) 10
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 29995
virtual memory          (kbytes, -v) unlimited


still the issue happen. I've used truss to see what's going on and it ends
with:

open64("lib_a-memmove.o", O_RDONLY)        = 253
fcntl(253, F_GETFD, 0x00000000)            = 0
fcntl(253, F_SETFD, 0x00000001)            = 0
brk(0x08315A28)                    = 0x00000000
brk(0x08317A28)                    = 0x00000000
open64("lib_a-mempcpy.o", O_RDONLY)        = 254
fcntl(254, F_GETFD, 0x00000000)            = 0
fcntl(254, F_SETFD, 0x00000001)            = 0
brk(0x08317A28)                    = 0x00000000
brk(0x08319A28)                    = 0x00000000
open64("lib_a-memrchr.o", O_RDONLY)        = 255
fcntl(255, F_GETFD, 0x00000000)            = 0
fcntl(255, F_SETFD, 0x00000001)            = 0
brk(0x08319A28)                    = 0x00000000
brk(0x0831BA28)                    = 0x00000000
open64("lib_a-memset.o", O_RDONLY)        = 256
close(256)                    = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES/SUNW_OST_OSLIB.mo", O_RDONLY)
Err#2 ENOENT
fstat64(2, 0xFEFFA6F0)                = 0
i386-rtems4.11-arwrite(2, " i 3 8 6 - r t e m s 4 .".., 17)    = 17
: write(2, " :  ", 2)                = 2
lib_a-memset.owrite(2, " l i b _ a - m e m s e t".., 14)    = 14
: write(2, " :  ", 2)                = 2
Too many open fileswrite(2, " T o o   m a n y   o p e".., 19)    = 19

write(2, "\n", 1)                = 1
lstat64("../libc.a", 0xFEFFB5E0)        = 0
unlink("../libc.a")                = 0
llseek(3, 0, SEEK_CUR)                = 8
_exit(1)


so it looks like there is 256 fd limit somewhere exposed in ar. I've also been
able to duplicate this issue with 2.23.90, but not with 2.23.2 which is running
fine for me.

Thanks!
Karel

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]