Date: Tue, 18 Nov 2014 14:29:11 -0700 From: Ian Lepore <ian@FreeBSD.org> To: Dieter BSD <dieterbsd@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: Running 8 building 10 gives "Out of file descriptors" ? Message-ID: <1416346151.1147.62.camel@revolution.hippie.lan> In-Reply-To: <CAA3ZYrCyLP5_CX5eyRt6iDAP0QLT11MmhtYweWySo9xe9k1opg@mail.gmail.com> References: <CAA3ZYrCyLP5_CX5eyRt6iDAP0QLT11MmhtYweWySo9xe9k1opg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2014-11-18 at 12:08 -0800, Dieter BSD wrote: > amd64 running 8.2 > Attempting to update to 10.1 > Need to build custom 10.1 kernel on machine running 8.2. > Installed binaries and src off to the side. > Attempts to compile kernel directly failed. > Attempts to build 10.1 "make" as 8.2 binary failed. > Chroot to 10.1 tree. > Attempt to build kernel (using stock GENERIC config file and stock sources > for now) failed: > > >>> stage 3.1: making dependencies > -------------------------------------------------------------- > cd /usr/obj/usr/src/sys/GENERIC; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 \ > MACHINE=amd64 CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin GR\ > OFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font GROFF_TMAC_PATH\ > =/usr/obj/usr/src/tmp/legacy/usr/share/tmac _SHLIBDIRPREFIX=/usr/obj/usr/src/t\ > mp _LDSCRIPTROOT= VERSION="FreeBSD 10.1-RELEASE amd64 1001000" INSTALL="sh /\ > usr/src/tools/install.sh" PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/u\ > sr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/sr\ > c/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/us\ > r/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin CC="cc " CXX="c++ " \ > CPP="cpp " AS="as" AR="ar" LD="ld" NM=nm OBJDUMP= RANLIB=ranlib STRINGS= COMP\ > ILER_TYPE=clang make -m /usr/src/share/mk KERNEL=kernel depend -DNO_MODULES_O\ > BJ > machine -> /usr/src/sys/amd64/include > x86 -> /usr/src/sys/x86/include > cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -g -Wall -Wredundant-decls -Wnes\ > ted-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -\ > Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs\ > -fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-bod\ > y -Wno-error-parentheses-equality -Wno-error-unused-function -nostdinc -I. -I/u\ > sr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/s\ > rc/sys/dev/ath -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/dev/ath/at\ > h_hal -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/dev/cx\ > gb -I/usr/src/sys/dev/cxgbe -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERN\ > EL_OPTION_HEADERS -include opt_global.h -fno-omit-frame-pointer -mno-omit-leaf-\ > frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse\ > -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector \ > -gdwarf-2 /usr/src/sys/amd64/amd64/genassym.c > NM='nm' sh /usr/src/sys/kern/genassym.sh genassym.o > assym.s > Out of file descriptors > *** Error code 2 > > > Maybe I need to build the 10.1 toolchain as 8.2 binaries? > nice -20 make kernel-toolchain > /tmp/make_kernel_toolchain_out 2>&1 > Result: > mkdep -f .depend -a -I/usr/src/tools/build/../../contrib/libc-pwcache -I/usr\ > /src/tools/build/../../lib/libc/include -I/usr/obj/usr/src/tmp/legacy/usr/inclu\ > de -std=gnu99 /usr/src/tools/build/../../contrib/libc-pwcache/pwcache.c > Out of file descriptors > > Wrote a very small C program. Result: > getdtablesize() returned 11095 > > The 10.1 mkdep is the same as 8.2 except for comments. > > It seems unlikely that it really needs more than 11095 file descriptors. > So what is going on, and how do I fix it? > > [ Obviously I have thought of booting stock 10.1 and then building > new kernel, but I can't take the machine down that long. ] I've been building 10.x and 11.x world and kernel from source on an 8.2 (and more recently now 8.4) system for a couple years, as recently as last night. I've never needed to do anything special. When I check sysctl kern.maxfiles it's set to 12328, not so different from yours. I wonder if some long-running process on your system is leaking away descriptors? A 'procstat -af' might help find that. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1416346151.1147.62.camel>