Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 839585 - app-admin/puppet-7.16.0 calls eend without preceding ebegin
Summary: app-admin/puppet-7.16.0 calls eend without preceding ebegin
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Matthew Thode ( prometheanfire )
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-04-20 06:39 UTC by Agostino Sarubbo
Modified: 2022-07-09 19:55 UTC (History)
4 users (show)

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


Attachments
build.log (build.log,46.80 KB, text/plain)
2022-04-20 06:39 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2022-04-20 06:39:27 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: app-admin/puppet-7.16.0 calls eend without preceding ebegin.
Discovered on: amd64 (internal ref: ci)
Comment 1 Agostino Sarubbo gentoo-dev 2022-04-20 06:39:29 UTC
Created attachment 771986 [details]
build.log

build log and emerge --info
Comment 2 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2022-04-20 16:02:58 UTC
as per irc, this was fixed a couple of days before filing this bug
Comment 3 Agostino Sarubbo gentoo-dev 2022-04-20 21:10:11 UTC
The state of the tree was at:
https://github.com/gentoo/gentoo/commit/223dd4ea27d8c7c6ae62c8ad0052433020c1a57f  (Tue Apr 19 22:51:53 UTC 2022)

So if it was fixed 'a couple of days ago', it is still reproducible
Comment 4 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2022-04-20 21:27:58 UTC
I don't call ebegin or eend directly, why is this a bug against puppet?
Comment 5 Thomas Bracht Laumann Jespersen 2022-04-21 08:11:16 UTC
This is not a bug in the puppet ebuild.

The ruby-ng.eclass, calls ebegin-eend for every phase it executes in _ruby_invoke_environment(). The all_ruby_prepare() phase then calls eapply that also calls ebegin and eend. ebegin had already been called by the caller, but isn't yet terminated with eend and so the QA notice is generated.
Comment 6 Larry the Git Cow gentoo-dev 2022-04-28 15:50:23 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=605ad0d675a64eb39144122cf284100192cdfea0

commit 605ad0d675a64eb39144122cf284100192cdfea0
Author:     Thomas Bracht Laumann Jespersen <t@laumann.xyz>
AuthorDate: 2022-04-21 08:41:14 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-04-28 15:50:16 +0000

    ebegin/eend: accept properly nested calls in different functions
    
    Turn the EBEGIN_EEND variable into a stack that tracks which function
    called ebegin. Calls to ebegin may be stacked and do not generate a QA
    warning if the callers are different functions. Calls to eend then check
    that the function name at the top of the stack matches the caller's
    function name.
    
    Bug: https://bugs.gentoo.org/839585
    Bug: https://bugs.gentoo.org/839588
    Signed-off-by: Thomas Bracht Laumann Jespersen <t@laumann.xyz>
    Closes: https://github.com/gentoo/portage/pull/824
    Signed-off-by: Sam James <sam@gentoo.org>

 bin/isolated-functions.sh | 22 ++++++++++++++++++----
 bin/phase-functions.sh    |  4 +++-
 2 files changed, 21 insertions(+), 5 deletions(-)
Comment 8 Larry the Git Cow gentoo-dev 2022-07-09 19:55:05 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=008c98f7c3f94865d361f785f195b61c518a19c6

commit 008c98f7c3f94865d361f785f195b61c518a19c6
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2022-07-03 19:41:40 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2022-07-09 19:54:48 +0000

    ruby-ng.eclass: replace ebegin with einfo in _ruby_invoke_environment
    
    Calling ebegin here makes no sense because it is likely that the called
    function will also generate output. This will lead to the "[ ok ]"
    potentially appearing many lines later.
    
    It also leads to nested ebegin calls, which make no sense for the same
    reason.
    
    Closes: https://bugs.gentoo.org/839585
    Closes: https://bugs.gentoo.org/839588
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 eclass/ruby-ng.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)