Application (GC) stuck in "_Jv_MarkArray" when doing "klass->getName();"

Martin Egholm Nielsen martin@egholm-nielsen.dk
Sat Mar 18 09:36:00 GMT 2006


Hi there,

In my long and tiresome (for the rest of you) attempts to understand the 
doubling of my GC-times, I've now added some output to "_Jv_MarkArray" 
to get an idea of what and why there is suddenly an array given of 
length 170.000.
(This attempt is a consequence of calling "gcj_describe_type_fn" from 
the GC, but it just halted.)
So I added parts of the the code from "gcj_describe_type_fn" into 
_Jv_MarkArray:

   if ( klass ) {
       printf( "MEN: 1\n" );
       jstring name = klass -> getName();
       printf( "MEN: 2\n" );
   } // if

However, when the GC gets to it, "1" is printed, "2" is not, and the GC 
is stuck in between.
Anyone can tell me why this is not "allowed"/fails?

BR,
  Martin Egholm



More information about the Java mailing list