Description of problem: Customer runs a BASH script that sleeps and executes tests in a loop. Occasionally, sleep terminates prematurely, which causes errors. From IT#60427: I've found the interesting fact from strace log collected by my reproduction. Whenever the problem happened, the pid which had been used by the background job process right before was assigned to the process. For instance, pid 29255 had been assigned to "test_sub.sh" in test case at the first, nextly, it was assigned to "sleep". The sleep process was dealed as background job. As the result, this problem happened. In grep issue, this fact is applicable. 29255 21:28:53.966341 execve("/mnt/test/60427/testing/test_sub.sh", ["/mnt/test/60427/testing/test_sub"...], [/* 31 vars */] <unfinished ...> 229255 22:31:41.371266 execve("/bin/sleep", ["sleep", "10"], [/* 31 vars */] <unfinished ...> Version-Release number of selected component (if applicable): bash-2.05b-29 How reproducible: Customer has supplied scripts that reproduce the problem, they are attached to issue 61189. Steps to Reproduce: 1. Run test scripts 2. 3. Actual results: Every now and then, sleep returns prematurely. Expected results: Sleep should not return prematurely. Additional info:
This has been reproduced on U1 and U2, I have requested that it be reproduced on U4.
This is reported to have been reproduced on U4. Based on the way Bash performs fork/exec, I think that the re-use of PIDs must be happening outside BASH.
If you execute many testcase at the same time, (of course, please change the log file name in each testcase.), this problem happens shorter time, because pids are re-used shorter term. In case of executing 5 testcases at the same time, this problem has reproduced about one hour.
From comment #2 it seems that this isn't a bash problem after all? I'm not quite sure what this is about. Could someone please explain it in more detail? What signal is delivered? What does strace say at the time? (The strace fragment in the original description only shows execve and no signals.)
I understand now. Thanks for the detailed strace. I am now analysing it.
This also seems to happen with bash-3.0.
Reported upstream with simplified test case.
Please try this package: ftp://people.redhat.com/twaugh/tmp/bash/bash-2.05b-41.2.i386.rpm
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 the 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. http://rhn.redhat.com/errata/RHBA-2005-437.html