Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 828660 - net-analyzer/telegraf-1.20.4: emerge fails to run clean
Summary: net-analyzer/telegraf-1.20.4: emerge fails to run clean
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: William Hubbs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-10 05:15 UTC by Angus K
Modified: 2022-01-09 20:29 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
telegraf 1.20.4 ebuild local repo (telegraf.tar.gz,34.32 KB, application/gzip)
2021-12-10 05:15 UTC, Angus K
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Angus K 2021-12-10 05:15:28 UTC
Created attachment 757870 [details]
telegraf 1.20.4 ebuild local repo

Hello,

I'm trying to write a simple ebuild to bump to a newer version of telegraf (attached), and following go-module (using older versions as a guide) I'm having a problem emerging it.

Manifest runs fine, but when trying to emerge, Portage is dying during the clean phase, with no logs or debug information outside of:

-----
[Errno 7] Argument list too long: b'/usr/bin/python3.9':
   /bin/bash -c /usr/lib/portage/python3.9/ebuild.sh clean
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/portage/process.py", line 421, in spawn
    _exec(
  File "/usr/lib/python3.9/site-packages/portage/process.py", line 784, in _exec
    os.execve(binary, myargs, env)
  File "/usr/lib/python3.9/site-packages/portage/__init__.py", line 282, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
OSError: [Errno 7] Argument list too long: b'/usr/bin/python3.9'
[Errno 7] Argument list too long: b'/usr/bin/python3.9':
   /bin/bash -c /usr/lib/portage/python3.9/ebuild.sh clean
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/portage/process.py", line 421, in spawn
    _exec(
  File "/usr/lib/python3.9/site-packages/portage/process.py", line 865, in _exec
    os.execve(binary, myargs, env)
  File "/usr/lib/python3.9/site-packages/portage/__init__.py", line 282, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
OSError: [Errno 7] Argument list too long: b'/usr/bin/python3.9'
 * The ebuild phase 'die_hooks' has been aborted since PORTAGE_BUILDDIR
 * does not exist: '/var/tmp/portage/net-analyzer/telegraf-1.20.4'
-----

I suspect that this is due to the sheer ridiculous size of the EGO_SUM portion, which matches upstream in Telegraf, but outside of hacking Portage to give me more information I'm not sure how to proceed.

Would love to know if there's a hidden limitation I'm bumping into with go-module?

Thanks!
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-10 05:31:42 UTC
What exactly are you running when this happens by the way?
Comment 2 Angus K 2021-12-10 11:45:16 UTC
This is when trying to emerge the package after repoman manifest has fork through and checked the Go modules.
Stock standard "emerge -v '=net-analyzer/telegraf-1.20.4'", using the ebuild provided in a local repo since the new version isn't upstream yet.
Comment 3 Michal G 2022-01-09 20:29:02 UTC
Tried something similar today (bumping telegraf locally to the latest version) and ran into the same problem. Except that even "ebuild telegraf-1.21.2.ebuild digest" failed with bunch of "Argument list too long" errors and didn't generate Manifest.

I guess the core cause is that "A" variable gets enormously large thanks to 3000+ EGO_SUM entries (which is, yea, ridiculous), and then portage fails to start subprocesses cause Linux has 128kB size limit on a single environment variable.

See bug 719202 that spun some other discussions and patches (bug 721088, bug 720180), but unfortunately no resolution yet.