Thanks, Alexei. The reason is (NULL != vm_thread->thread_exception.exc_object). Since we wasn't familar with codes here, maybe there are too many reasons which can cause exception. I wonder if we can infer something from "lock" and "Ljava/lang/ThreadGroup$ThreadGroupLock" here, this way we can find the reason with some direction.
Regards, tingpeng 2008/3/25, Alexei Fedotov <[EMAIL PROTECTED]>: > > Hello, Ting Peng, > > You may find useful looking into jni/jni_field.cpp:87 [1]. The source > for GetStaticFieldID shows that zero is returned when an exception is > raised, field lookup failed, or the field is not static. > > Thanks. > > [1] > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_field.cpp?view=markup > > On Tue, Mar 25, 2008 at 5:29 PM, tingpeng wu <[EMAIL PROTECTED]> > wrote: > > Hi, all, > > I have a question which needs your help. Method > > vm_shutdown_stop_java_threads() has following statements: > > > > *jfieldID lock_field_id = jni_env->GetStaticFieldID(class_handle, > > "lock", "Ljava/lang/ThreadGroup$ThreadGroupLock;"); > > assert(lock_field_id);* > > ** > > Anyone can tell me the role of assertation statement here. If the > > assertation error happens, what is the possible reason. Thanks. > > > > Regards, > > tingpeng > > > > > > -- > With best regards, > Alexei >
