All,

There is a bug of some sort in bash 4.3.30 (and likely others) when compiled with --disable-job-control on Linux/x86_64.

The following script will produce output after running for about 30 seconds:
while true; do dfOutput="$(/bin/echo test)"; if echo "${dfOutput}" | /bin/false; then echo Impossible; fi; done

It should never produce any output, and will not produce any output if bash is compiled with --enable-job-control.

Additionally, the commands may be run out of order when they involve a pipe.

For example:

while true; do dfOutput="$(/bin/echo test)"; if echo "${dfOutput}" | /bin/false; then echo a; echo b | cat; echo c; echo ---; fi; done

Can produce the output:
        a
        c
        ---
        b
        a
        ...

I have done no further investigation.

Thanks,
        Roy Keene

Reply via email to