[dev mar 07] If you attempt to run any target from an Ant project from
within the IDE which has a slash in its name (e.g.
core/javahelp/build.xml named "core/javahelp"), and you are not
reusing output tabs (so that each execution names the tab according to
the project and maybe target), and you are using output tab
redirection, a stack overflow occurs and no output is shown. Reason:
OutputTabTerm.redirOpen did not escape the slash, thus trying to make
a file such as "$nbuser/output/core/javahelp.out"; since only the
directory $nbuser/output/ exists (not the subdir core/),
redirFile.createNewFile() fails with an IOException; printStackTrace
sends this to standard error; Ant execution redirects stderr, so this
goes back to term, causing a loop. Solution: (1) use ErrorManager for
all exception reporting from output tab code, since it does not send
to stderr but straight to the log file, preventing cycles during Ant
execution; (2) redirPrint should check for redirWriter still == null
after calling redirOpen(), which can happen in case of errors, and
ignore (continue printing to GUI); (3) redirOpen should escape the
platform separator character before constructing an output filename.
Created attachment 5101 [details]
log file excerpt
I have a patch for OutputTabTerm.java which seems to work fine.
Created attachment 5117 [details]
Ales do you think you could commit this patch for me? I am having a
bit of trouble with updating CVS at the moment (to do a clean build
& test run), otherwise I would commit it myself. Thanks in advance.
suggested patch integrated into cvs trunk
cannot reproduce -> verified
moving terminal emulator issues to terminalemulator component.
To see the correct version and target milestone of this issue look at Issue