harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@gmail.com>
Subject Re: [drlvm] Signed jars cannot be used in classpath
Date Wed, 05 Jul 2006 09:23:03 GMT
On Wednesday 05 July 2006 12:56 Alexey Varlamov wrote:
> Gregory,
> I also was stumbled by this failure, especially as the VM provides
> scanty diagnostics about it's reason:
> <console.log>
> *** Error: exception occured in main Thread constructor.
> JNI.ExceptionDescribe: java/lang/ExceptionInInitializerError:
> java/lang/ExceptionInInitializerError : (null)
> ERROR: Destructive unwinding: C++ objects detected on stack!

When throwing exception this should not happen in any case no matter classlib 
bootstrap or normal program execution. I'll try to find out what objects that 
shouldn't be there are on the stack in this case.

>   droping 0x0012F3A4
>  setting curr 0x0012F51C
> </console.log>
> But the stack trace you managed to obtain (how did you, BTW?) prompted

I am not sure if it is in VM debugging document which Nadezhda Morozova 
created some time ago. First I traced application execution with 
several -Xtrace combinations to figure out which exception is the root of all 
exceptions both on JIT and interpreter (to use it add -Xint to the command 
line). It happened to be NPE. Then I just set a breakpoint in function 
throwNPE of interpreter and ran application. The first NPE is the one.

Then to print stack trace in gdb you can use "print stack_dump()" in 
interpreter or "print st_print()" in JIT. This will evaluate the function and 
execute it on the fly (may crash the program or gdb too :( ). To do this on 
windows you can just add these functions to watch in visual studio.

> me an extra bootstrap dependency in the j.l.ClassLoader which must be
> fixed. Namely, there is a field "defaultDomain", which is incorrectly
> initialized in static block, rather than be created lazily as API
> specification requires (see javadoc for defineClass(String, byte[],
> int, int, ProtectionDomain) ).

Does it mean that there is a quick fix? It is good because I was lost 
yesterday without the idea how to fix the bug.

Gregory Shimansky, Intel Middleware Products Division

Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org

View raw message