Fix no child processes error (#2048)

This commit is contained in:
south-mer
2025-05-14 20:38:07 +09:00
committed by GitHub
parent d3db910e70
commit 24895f2a24
3 changed files with 17 additions and 2 deletions
+15
View File
@@ -0,0 +1,15 @@
package errors
import "strings"
// IsNoChildProcessesErr returns true for an error from
// exec.Command().Run() that can be safely ignored.
// Reference: https://github.com/slimtoolkit/slim/blob/79b63a80c10083ece51be0ef1fd1e7c090ff6346/pkg/util/errutil/errutil.go#L95-L110
func IsNoChildProcessesErr(err error) bool {
if err == nil {
return false
}
return strings.Contains(err.Error(), "wait: no child processes") ||
strings.Contains(err.Error(), "waitid: no child processes")
}
+1 -1
View File
@@ -143,7 +143,7 @@ func downloadModule(
cmd.Stderr = stderr
err := cmd.Run()
if err != nil {
if err != nil && !errors.IsNoChildProcessesErr(err) {
err = fmt.Errorf("%w: %s", err, stderr)
var m goModule
if jsonErr := json.NewDecoder(stdout).Decode(&m); jsonErr != nil {
+1 -1
View File
@@ -81,7 +81,7 @@ func (l *vcsLister) List(ctx context.Context, module string) (*storage.RevInfo,
cmd.Env = prepareEnv(gopath, l.env)
err = cmd.Run()
if err != nil {
if err != nil && !errors.IsNoChildProcessesErr(err) {
err = fmt.Errorf("%w: %s", err, stderr)
if errors.IsErr(timeoutCtx.Err(), context.DeadlineExceeded) {
return nil, errors.E(op, err, errors.KindGatewayTimeout)