From: Stefan Sperling Subject: Re: sparc64 regress ulimit To: Christian Weisgerber , gameoftrees@openbsd.org Date: Fri, 27 Jan 2023 18:02:26 +0100 On Fri, Jan 27, 2023 at 07:53:43AM -0700, Tracey Emery wrote: > On Mon, Jan 23, 2023 at 04:44:21PM +0100, Stefan Sperling wrote: > > On Mon, Jan 23, 2023 at 08:25:31AM -0700, Tracey Emery wrote: > > > Here is this. I haven't had time to look it over. > > > > Could you check whether you are hitting this error path in imsg_read()? > > > > /usr/src/lib/libutil/imsg.c: > > [[[ > > again: > > if (getdtablecount() + imsg_fd_overhead + > > (int)((CMSG_SPACE(sizeof(int))-CMSG_SPACE(0))/sizeof(int)) > > >= getdtablesize()) { > > errno = EAGAIN; > > free(ifd); > > return (-1); > > } > > ]]] > > > > You could place a printf in there and recompile + reinstall libutil for > > testing. Afterwards, remove the printf and recompile + reinstall it again. > > > > If we are hitting this then ulimit -n 32 is indeed too tight on sparc64 > > (perhaps because of struct sizes?) and we need to try 33, 34, etc. until > > it works. > > > > As discussed on IRC, we are hitting this error path on sparc64. Regress > is currently passing with a ulimit of 33. So, since there appears to be > a slight variance on sparc64, let's bump everything to a ulimit of 33 > and continue testing from this point. > > ok? Yes, best we can do.