[llvm] [lit] Echo full RUN lines in case of external shells (PR #65267)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 6 13:17:36 PDT 2023


uweigand wrote:

I'm running into this issue on the s390x builder as well.  It seems the problem happens in the ./compiler-rt/test/fuzzer/fork-sigusr.test case here:
```
RUN: %run %t/ForkSIGUSR -fork=3 -ignore_crashes=1 2>%t/log & export PID=$!
RUN: sleep 3
RUN: kill -SIGUSR2 $PID
RUN: sleep 6
RUN: cat %t/log | FileCheck %s --dump-input=fail
```

Normally, the PID variable is set to the pid of the ForkSIGUSR process, which then gets killed with SIGUSR2 and terminates cleanly.

However, with this patch applied, the PID variable get set to the pid of a *shell* process executing
```
  echo "..." && ../ForkSIGUSR ...
```
The shell eats the SIGUSR2 and prints a message, but the ForkSIGUSR process never gets the signal and keeps running indefinitely.

This somehow causes the buildbot connection to terminate - not sure exactly why but possibly some bad reaction to that shell getting the signal?

Unfortunately whenever I re-start the build bot, it thinks it need to re-try the previous build since that had the failed connection - but that previous build still has this patch applied and therefore terminates again :-(   I'm trying to work around this now.


https://github.com/llvm/llvm-project/pull/65267


More information about the llvm-commits mailing list