zsh-workers
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: Jun T <takimoto-j@kba.biglobe.ne.jp>
Cc: Zsh hackers list <zsh-workers@zsh.org>
Subject: Re: zargs with -P intermittently failing in zsh 5.9 and macOS
Date: Thu, 26 May 2022 20:39:55 -0700	[thread overview]
Message-ID: <CAH+w=7YQmKzEXFHwRwLF2Df9E51G-Jmof+NtkK3Vpkv-pkGx8A@mail.gmail.com> (raw)
In-Reply-To: <F4E8CACF-ED46-4809-8977-37213538A0FE@kba.biglobe.ne.jp>

On Thu, May 26, 2022 at 1:58 AM Jun T <takimoto-j@kba.biglobe.ne.jp> wrote:
>
> > 2022/05/25 2:32, Bart Schaefer <schaefer@brasslantern.com> wrote:
> >
> > Something is causing the subshell that was running f to exit with
> > status 19 even though f returned 0.
>
> The problem can be reproduced by the following simplified script:

Thanks.  Is this limited to newer MacOS, like the nullexec test
discussed in workers/50164 ?

> (   # works OK if not run in a subshell

Interesting.  It may actually be possible to remove the subshell from
zargs now (see below).

>     np=10   # try increasing this if you do not get $? = 19
>     for ((i=0; i<$np; ++i)); do
>         curl -so /dev/null 'https://example.com' & _zajobs+=( $! )
>     done

I don't suppose you've found any indication of what 19 actually means, there.

>     #sleep 1    # works OK if 'sleep 1' is added here
>     wait        # works OK if this line is commented out

Hm.  If that wait is removed, the subshell is probably not necessary.
It's there because of a lingering concern that if we didn't first wait
for all jobs to finish before starting the individual waits, we might
get race conditions. It seems like perhaps the opposite is actually
the case.

> But all the "wait $p" return 0 if
> (1) remove the "wait" before the "for p in $_zajobs", or
> (2) add "sleep 1" before the "wait", or
>
> (1)(2) may indicate that the first "wait" (without $p) can't correctly
> wait for some of the child procs...?

That would be ... strange ... and would mean we might have to be on
the lookout for "wait" failing in other cases too.


  parent reply	other threads:[~2022-05-27  3:40 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-24 16:09 Eric Nielsen
2022-05-24 17:32 ` Bart Schaefer
2022-05-24 20:21   ` Eric Nielsen
2022-05-24 20:35     ` Bart Schaefer
2022-05-26  8:57   ` Jun T
2022-05-26 11:21     ` Jun. T
2022-05-27  3:39     ` Bart Schaefer [this message]
2022-05-27  4:18       ` Lawrence Velázquez
2022-05-27  5:29       ` Jun T
2022-05-27 16:10         ` Bart Schaefer
2022-05-27 17:25           ` Jun. T
2022-05-29  3:30             ` Bart Schaefer
2022-05-29 14:47               ` Jun. T
2022-05-29 20:07                 ` Bart Schaefer
2022-05-30 11:16                   ` Jun T
2022-06-07  6:51                     ` Jun T
2022-06-09  2:56                       ` Bart Schaefer
2022-06-12 16:43                 ` Eric Nielsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH+w=7YQmKzEXFHwRwLF2Df9E51G-Jmof+NtkK3Vpkv-pkGx8A@mail.gmail.com' \
    --to=schaefer@brasslantern.com \
    --cc=takimoto-j@kba.biglobe.ne.jp \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).