On 11/10/2022 17.26, Mike Gilbert wrote:
On Tue, Oct 11, 2022 at 6:06 AM Florian Schmaus <f...@gentoo.org> wrote:

Packages with a large number of EGO_SUM entries, i.e., many thousands,
cause SRC_URI, and in turn A, to become quite large. Prevent issues that
are caused by large environment variables, e.g., execve() errors (see
bug #719203), by ensuring that A stays below a reasonable size.

This code will never be reached: if the A environment variable is too
large, portage will fail to execute /bin/bash, and the phase function
will not be executed.

I believe the code will never be reached if A is > 128 KiB (aka MAX_ARG_STRLEN). If A is (112, 128] KiB, then the code will be reached and run into the 'die'. If A is <= 112 KiB, then the code will be reached and continue without die'ing.

That said, I could also live with your suggestion to un-deprecate EGO_SUM without any size limitation (besides limitations not within Gentoo's direct control, like MAX_ARG_STRLEN). In this case, we should probably, at one point, improve portage's error reporting, so that, for example, execve() fails, portages tries to determine the culprit. For example, portage printing out environment variables that are too large. Which appear to be nice to have irregardless of the current EGO_SUM discussion.

- Flow

Attachment: OpenPGP_0x8CAC2A9678548E35.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to