This is the mail archive of the
mailing list for the Cygwin project.
"Bad address" error with redirection (stdout and stderr) in background process
- From: Heiko Elger <heiko_elger at arburg dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 11 Jan 2012 15:05:26 +0000 (UTC)
- Subject: "Bad address" error with redirection (stdout and stderr) in background process
I'm using latest snapshot and updated cygwin installation.
$ uname -a
CYGWIN_NT-6.1-WOW64 PCFX166 1.7.10s(0.259/5/3) 20120111 01:45:50 i686 Cygwin
I've done rebaseall and peflagsall.
I've found the following problem using make in parallel (-j) with multiple
commands joined with semicolon (;) using cygwin and non-cygwin(cross compiler)
# just an example
echo compile ; cross-gcc -c test.c -o test.o
Having multiple targets like this and using for example
$ make -j8 |& tee make.log
you will get a "bad address" error.
/bin/sh: cross-gcc.exe: Bad address
makefile:10: recipe for target `test.o' failed
I stripped down the problem to the following testcase:
$ cat ./testcase.sh
(( echo 123 ; cmd /c echo 456 ) |& tee tee.log ) &
executing the testcase will produce thr following output:
./testcase.sh: line 2: /cygdrive/c/Windows/system32/cmd: Bad address
If only redirecting stdout to tee all works fine.
The problem occurs ony while mixing cygwin and non cygwin programs.
Using snapshot 20110829 all works fine.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple