It's possible that there's an error message being sent to the error stream. You've created a reader for this stream, but it never reads the contents to print them out they way you do for the standard input stream. Unfortunately there are a numer of potential difficulties that you can encounter when doing this sort of thing; I recommend reading
this article for more background.
You should probably use the StreamGobbler class discussed there to read both input and error streams in separate threads, and print their contents to the screen. Good luck...