Red Hat Bugzilla – Bug 465455
zsh may hang when re-using PIDs
Last modified: 2013-04-12 15:54:25 EDT
It may happen that with many processes one PID may appear in zsh's job table twice -- one marked as done. In such a case zsh may not be able to pick the other process and mark it as done and would wait for it to finish forever. This would cause the zsh scripts to hang.
Much better explanation together with the patch can be found here:
It may not be easy to reproduce the problem since this happens only with many processes being spawned and the PID numbers being reused.
Customer was hitting this bug and confirms that the patch provided in the mentioned mailing list post fixes the issue.
I was able to reproduce the bug once with the following script (from http://www.zsh.org/cgi-bin/mla/wilma_hiliter/users/2008/msg00431.html):
" ;find -type d -not -name cur -not -name tmp -not -name new -not -name "." \
-not -name ".." | while read q ; do echo $q ; find "$q" -maxdepth 2 \
-type f |while read w ; do find "$q"
Created attachment 319357 [details]
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.