Oliver Deakin wrote:
> Hi all,
>
> I was checking out some JIRAs and spotted that when we
> print exception stack traces at the moment we're not getting
> the full NLS message. For example, running the following:
>
> public class Test {
> public static void main(String[] args) throws Throwable {
> throw new NullPointerException();
> }
> }
>
> prints:
>
> K0319java.lang.NullPointerException
> at Test.main(Test.java:3)
> FAILED to invoke JVM.
>
> I can spot 2 things wrong with this output (pats on the back
> if you spot more!):
> 1) K0319 should actually say something like
> 'Exception in thread "main" '. It looks like out NLS messages
> arn't being printed correctly - anyone got any ideas about this
> one?
The message was missing in the catalog. I added it in r472226.
> 2) The bogus "FAILED to invoke JVM" message.
> Looks like this is coming from the launcher (Im running
> Harmony + IBM VME).
> It appears that this happens because in main_runJavaMain
> (in the launcher main.c) after we make the CallStaticVoidMethod()
> call to run main, we do the following:
>
> if ((*env)->ExceptionCheck (env))
> {
> if (rc == 0)
> rc = 100;
> }
>
> which causes a return code of 100 to be passed back to
> gpProtectedMain() via the invocation() function, where it is used
> in the following way:
>
> if (invocation(...))
> {
> hytty_printf (PORTLIB, "FAILED to invoke JVM.\n");
> goto bail;
> }
>
> I imagine this misleading message also appears with DRLVM?
> I'm not setup at the moment to test it.
> Is there a reason we set the return code to 100 if there's an
> unhandled exception?
I'll leave that one for the person who changed the code ;-)
Regards,
Tim
--
Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.