Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 924313

Summary: sys-apps/portage: portage.process._exec should wrap pid-sandbox os.fork() with _start_fork for error handling
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: CoreAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal CC: zmedico
Priority: Normal Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=675312
https://bugs.gentoo.org/show_bug.cgi?id=916566
https://github.com/gentoo/portage/pull/1261
https://bugs.gentoo.org/show_bug.cgi?id=675868
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 921380    
Bug Blocks: 914876    

Description Zac Medico gentoo-dev 2024-02-11 21:38:57 UTC
The portage.process._exec currently calls os.fork() directly, but it could use _start_fork for error handling for error handling related to bug 345289.
Comment 1 Larry the Git Cow gentoo-dev 2024-02-12 07:58:05 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=419cce79f9082308c848df0a98f367de4d1c50a3

commit 419cce79f9082308c848df0a98f367de4d1c50a3
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2024-02-11 21:58:10 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2024-02-12 07:56:10 +0000

    process._exec: Use _start_fork for os.fork() error handling
    
    Use _start_fork for os.fork() error handling, ensuring
    that if exec fails then the child process will display
    a traceback before it exits via os._exit to suppress any
    finally blocks from parent's call stack (bug 345289).
    
    Bug: https://bugs.gentoo.org/345289
    Bug: https://bugs.gentoo.org/916566
    Bug: https://bugs.gentoo.org/924313
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 lib/portage/process.py | 259 ++++++++++++++++++++++++++++---------------------
 1 file changed, 151 insertions(+), 108 deletions(-)