On 11/03/2021 22:27, Chet Ramey wrote:
On 3/11/21 3:55 PM, Michael Felt (aixtools) wrote:Sent from my iPhoneWould it be difficult to give me a hint for 5.0. I could test further now i have a command that generates the issue.On 11 Mar 2021, at 18:15, Chet Ramey <chet.ra...@case.edu> wrote: On 3/11/21 11:28 AM, Michael Felt wrote:Hi,Issue: AdoptOpenJDK build process makes bash calls in a particular way. An abbreviated (shorter pathnames) example is:```bash-5.0$ /usr/bin/printf "Building targets 'product-images legacy-jre-image test-image' in configuration 'aix-ppc64-normal-server-release'\n" > >(/usr/bin/tee -a /home/aixtools/build.log) 2> >(/usr/bin/tee -a /home/aixtools/build.log >&2) Building targets 'product-images legacy-jre-image test-image' in configuration 'aix-ppc64-normal-server-release'I believe this is fixed in bash-5.1.I can't reproduce it, but you can look at unlink_all_fifos() in bash-5.1. It's defined in subst.c and called in shell.c.
FYI: Been digging in bash-5.0.18 - learning... Decided to give bash-5.1 a try. I doubt it is major, but I get as far as:"../../../src/bash-5.1.0/lib/sh/tmpfile.c", line 289.11: 1506-068 (W) Operation between types "char*" and "int" is not allowed.
ld: 0711-317 ERROR: Undefined symbol: .mkdtempld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 The error code from the last command is 8.Using AIX 5.3 TL12 and xlc/xlC-v11, and a largely stripped system Of other OSS).
I'll also give it a go on a more public server. Michael
Probably because the process substitution does not exit before the shell does.I was hoping that is what the wait routines were for. Also noticed that the second fifo never gets a pid.Bash doesn't wait for asynchronous processes before it exits unless you use`wait'.
OpenPGP_0x722BFDB61F396FC2.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature