This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients hroncok, izbyshev, nanjekyejoannah, pablogsal, torsava, vstinner
Date 2021-02-03.15:53:03
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1612367583.86.0.90223836097.issue43113@roundup.psfhosted.org>
In-reply-to
Content
IMO the fix is simple: only create OSError from the errno, never pass a filename.

posix_spawn() is really complex function which can fail in many different ways. Only in some very specific cases the filename is correct.

"""
ERRORS

       The posix_spawn() and posix_spawnp() functions fail only in the
       case where the underlying fork(2), vfork(2) or clone(2) call
       fails;  in these cases, these functions return an error number,
       which will be one of the errors described for fork(2), vfork(2)
       or clone(2).

       In addition, these functions fail if:

       ENOSYS Function not supported on this system.
"""

https://man7.org/linux/man-pages/man3/posix_spawn.3.html

Hum. I'm not sure that manual page is up to date. In the glic, it can also report exec() failure using a pipe, if I recall correctly.
History
Date User Action Args
2021-02-03 15:53:03vstinnersetrecipients: + vstinner, torsava, izbyshev, hroncok, pablogsal, nanjekyejoannah
2021-02-03 15:53:03vstinnersetmessageid: <1612367583.86.0.90223836097.issue43113@roundup.psfhosted.org>
2021-02-03 15:53:03vstinnerlinkissue43113 messages
2021-02-03 15:53:03vstinnercreate