harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Popov (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-2833) [drlvm][jvmti] NULL pointer access inside GetObjectClass() for exception object
Date Thu, 21 Dec 2006 11:47:21 GMT
[drlvm][jvmti] NULL pointer access inside GetObjectClass() for exception object
-------------------------------------------------------------------------------

                 Key: HARMONY-2833
                 URL: http://issues.apache.org/jira/browse/HARMONY-2833
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Windows/ia32, Linux/ia32
            Reporter: Ivan Popov


DRLVM (r489057) with JDWP agent crashed while debugging HelloWorld in Eclipse debugger.

The crash is because of NULL pointer access inside JVMTI function GetObjectClass(), which
is invoked for exception object passed to Exception callback during classlib initialization
(i.e., before main() is invoked). 

Here is stack trace from VC++ debugger:

	harmonyvm.dll!GetObjectClass(JNIEnv_External * jni_env=0x01173930, _jobject * obj=0x027773f0)
 Line 1088	C++
>	jdwp.dll!JNIEnv_::GetObjectClass(_jobject * obj=0x027773f0)  Line 854 + 0x12	C++
 	jdwp.dll!jdwp::RequestManager::HandleException(_jvmtiEnv * jvmti=0x011757b0, JNIEnv_ * jni=0x01173930,
_jobject * thread=0x027773f4, _jmethodID * method=0x02766ba4, __int64 location=10, _jobject
* exception=0x027773f0, _jmethodID * catch_method=0x02766ba4, __int64 catch_location=24) 
Line 932 + 0xc	C++
 	harmonyvm.dll!jvmti_send_exception_event(_jobject * exn_object=0x027773f0, Method * method=0x02766ba4,
__int64 location=10, Method * catch_method=0x02766ba4, __int64 catch_location=24)  Line 1288
C++
 	harmonyvm.dll!jvmti_jit_exception_event_callback_call(ManagedObject * exn_object=0x00000000,
JIT * jit=0x00f12730, Method * method=0x02766ba4, void * native_location=0x02e331d8, JIT *
catch_jit=0x00f12730, Method * catch_method=0x02766ba4, void * native_catch_location=0x02e332d9)
 Line 1385	C++
 	harmonyvm.dll!exn_propagate_exception(StackIterator * si=0x0272c310, ManagedObject * * exn_obj=0x0012e57c,
Class * exn_class=0x0118b4f8, Method * exn_constr=0x00000000, unsigned char * jit_exn_constr_args=0x00000000,
jvalue * vm_exn_constr_args=0x00000000)  Line 315	C++
 	harmonyvm.dll!exn_throw_for_JIT(ManagedObject * exn_obj=0x00000000, Class * exn_class=0x0118b4f8,
Method * exn_constr=0x00000000, unsigned char * jit_exn_constr_args=0x00000000, jvalue * vm_exn_constr_args=0x00000000)
 Line 425	C++
 	harmonyvm.dll!exn_athrow(ManagedObject * exn_obj=0x0012e7f4, Class * exn_class=0x0012e7f4,
Method * exn_constr=0x0012e7f4, unsigned char * exn_constr_args=0x01676339)  Line 445 + 0x1b
C++
 	harmonyvm.dll!free(void * pBlock=0x41400000)  Line 103 + 0x5	C
 	harmonyvm.dll!free(void * pBlock=)  Line 103 + 0x5	C

To reproduce this crash:

1. Create DRLVM build and copy there jdwp and dt_socket libraries from jdktools build (or
use federated build)
2. Start Eclipse and create HelloWorld project
3. Launch HelloWorld in debugger (Run->Debug)
4. Click Debug button and see crash

This crash does not occur if DRLVM is launched in -Xint mode. 


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message