I don't understand what the comment "Provided is-a-tty now works ..." means.
I tried the command "jruby -e 'system "./is-a-tty"'" again, and for me it still gives the same output as in this bug report. I used Subversion revision r5779.
I wrote "is-a-tty" to show the situation for STDOUT and STDERR (the command tty(1) only reports for STDIN). The program could have been written in for example Perl or C instead. It just happened to be Ruby (note: MRI, not JRuby).
I believe the program test a real property of the file descriptor in the started process. And the problem is that JRuby wraps the process in pipes that are handled by Java. See the StreamPumper-code in ShellLauncher.java.
As long as "system" is implemented in this way, I would think that it is impossible to make the problem in this bug-report go away (but I hope I'm wrong