"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Stefan Sperling <stsp@stsp.name>
Subject:
Re: sparc64 regress ulimit
To:
Christian Weisgerber <naddy@mips.inka.de>, gameoftrees@openbsd.org
Date:
Mon, 23 Jan 2023 16:44:21 +0100

Download raw body.

Thread
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.