JvCreateJavaVM evil segfault

Andrew Shuttlewood andrew.shuttlewood@futureroute.co.uk
Thu Mar 27 14:52:00 GMT 2003


I'm trying to integrate libgcj into an application we're writing, and
I've hit a nasty problem with trying to create the VM. In a standard
alone test app (the one somewhere on gcc.gnu.org), it works fine. It's
fine and dandy. When I put it as the first line in main() of our normal
code, however, it fails unpleasantly with a segfault.

For some reason gdb is totally unhelpful (it seems to get further
sometimes, and not so far other times), but it's dying around line 582
of natRuntime.cc (this worked out primarily through stepping through.

It explodes somewhere within the GC allocator, but the lines leading up
to it are:

454         if (++size > threshold)
(gdb)
461         e = new HashEntry(key, value);
(gdb)
 (this is in hashtable).

I'm not quite sure exactly why it appears to hate me so much, but I'm
willing to help perform any debugging or rebuilding necessary. This is
with gcc-3.3 CVS, pulled about 2-3 days ago (and I have the same problem
of stack traces not working for native code, but I have absolutely no
clue how to fix that....)

Apologies if this is an unbelievably commonly asked question but I truly
cannot find anything on the web! 

I built gcc using ./configure --enable-threads (and a set prefix), so it
might be clashing with the already existing compiler, + I think that
this is using g++-3.2 to actually build the C++. Is this the problem?
g++-3.3 seems to hate omniorb generated classes for some reason.



More information about the Java mailing list