underflow?

Per Bothner bothner@pacbell.net
Fri Jun 11 15:23:00 GMT 1999


Amancio Hasty Jr <hasty@netcom.com> writes:
> In trying to compile netscape's ldap client I get the following error:
> GNU Java version gcc-2.96 19990609 (experimental) (i386-unknown-freebsdelf4.0) compiled by GNU C v
> ersion egcs-2.91.66 19990314 (egcs-1.1.2 release).
> LDAPConnection.java: In class `netscape.ldap.LDAPConnThread':
> LDAPConnection.java: In method `cleanUp()': 
> LDAPConnection.java:0: stack underflow

This means the compiler found (or thought it found) invalid bytecode that
would lead lead to stack underflow). This could be a real error in the
.class files (or rather the compiler that generated them), though ideally
the error message should be better.
More likely, it is a bug in the compiler: Either in the bytecode verifier,
or in the next phase (which reads the verified bytecodes and generates
tree nodesd and rtl).
If someone want to investigate, I'll be happy to advise. The first step
is to use gcj -v to get the actual command line passed to jc1, and then
run that under gdb, to get a stack trace. (Set a breakpoint on fatal.)
Use that to pin down the exact bytecode causing problems by exacting
the PC or oldpc in the appropriate function on the stack.
Then use jcf-dump (for exact) to print out the actual bytecodes, and
examine them.
-- 
	--Per Bothner
bothner@pacbell.net http://home.pacbell.net/bothner/


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /