harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Berezhniuk" <ilya.berezhn...@gmail.com>
Subject Re: [VMCore] assertation error in vm_shutdown_stop_java_threads()
Date Tue, 25 Mar 2008 16:36:36 GMT
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 <pmcfirst@gmail.com>:
> 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 <wutingpeng2@gmail.com> 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 <alexei.fedotov@gmail.com>:
>  > >
>  > > 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 <wutingpeng2@gmail.com>
>  > > 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
>

Mime
View raw message