The reason of 'assert(lock_field_id)' assertion is checking the field presence in j.l.ThreadGroup class. It's done, for example, to prevent deleting the field from the Java source by mistake. I agree with Pavel, you probably use incorrect jar, thus ThreadGroup does not contain the 'lock' field.
2008/3/25, Pavel Pervov <[EMAIL PROTECTED]>: > It looks like you have invalid java/lang/ThreadGroup class in boot > class path. Please, check that correct kernel.jar is available at > jdk/jre/bin/default/kernel.jar. > > Pavel. > > > On 3/25/08, tingpeng wu <[EMAIL PROTECTED]> wrote: > > 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 > > > > > > > > > -- > Pavel Pervov, > Intel Enterprise Solutions Software Division >
