You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ivan Popov (JIRA)" <ji...@apache.org> on 2007/07/07 13:08:04 UTC

[jira] Created: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

[drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
------------------------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-4388
                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Windows/x86, harmony-jdk-r553376
            Reporter: Ivan Popov


After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:

    org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014

crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
Stack trace is the following:

>	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
 	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
 	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
 	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
 	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
 	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
 	12737a4c()	
 	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
 	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
 	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
 	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
 	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
 	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
 	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
 	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
 	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
 	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
 	kernel32.dll!77e66063() 	

This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526928 ] 

Ilya Berezhniuk commented on HARMONY-4388:
------------------------------------------

Note: it's required to set SystemRoot environment variable to pass JDWP stress tests on Windows.

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>         Attachments: H-4388.diff, H-4388_excludes.diff
>
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526775 ] 

Ilya Berezhniuk commented on HARMONY-4388:
------------------------------------------

I've checked this test with debug info in class file - the test passes in most cases.
Sometimes the test fires an assertion in vm/jitrino/src/jet/rt.cpp:273: "method_get_num_handlers(method) == 0" on debug VM - I'm going to file a bug for this. But reported problem is not reproducible when EventDebuggee014.java is compiled with debug info.

Looks like the only change required to fix this bug is adding debug information to class files. I'm going to provide patch soon.

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Eugene S. Ostrovsky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12519006 ] 

Eugene S. Ostrovsky commented on HARMONY-4388:
----------------------------------------------

Cannot reproduce the bug.

No crash happens. Test fails with the following message:
... Testcase: @testEvent014   result is: ## Can NOT get breakpoint location! FAILED(105)

The same it does on RI JDK.

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ilya Berezhniuk updated HARMONY-4388:
-------------------------------------

    Attachment: H-4388_excludes.diff

I've checked the test with suggested patch on release build, it passes does not crash.
So I suggest removing this test from exclude list.

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>         Attachments: H-4388.diff, H-4388_excludes.diff
>
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526606 ] 

Ilya Berezhniuk commented on HARMONY-4388:
------------------------------------------

I also see only failure with the message "## Can NOT get breakpoint location!", and RI does the same.
I still can't find a cause for this..

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky closed HARMONY-4388.
--------------------------------------

    Resolution: Fixed
      Assignee: Gregory Shimansky

Patches are applied at 575375. Hopefully CI doesn't show any regressions.

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>            Assignee: Gregory Shimansky
>         Attachments: H-4388.diff, H-4388_excludes.diff
>
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Eugene S. Ostrovsky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526700 ] 

Eugene S. Ostrovsky commented on HARMONY-4388:
----------------------------------------------

Stress test build system is incorrect.
It compiles test java classes without debug info. This test requires class with line number info in order to set breakpoint.

If you recompile test class manually it pass on RI and crashes on drlvm.

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526723 ] 

Ilya Berezhniuk commented on HARMONY-4388:
------------------------------------------

Good point, thank you!

I've already detected that JDWP returns 0 as count of lines -  seems like because of debug info absence.
An error could be different with debug info...

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-4388) [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"

Posted by "Ilya Berezhniuk (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-4388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ilya Berezhniuk updated HARMONY-4388:
-------------------------------------

    Attachment: H-4388.diff

The patch fixing the problem with debug info.

> [drlvm][jvmti] DRLVM crashes in jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable"
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4388
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4388
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows/x86, harmony-jdk-r553376
>            Reporter: Ivan Popov
>         Attachments: H-4388.diff
>
>
> After applying patch HARMONY-2889 for JDWP agent the following JDWP stress test:
>     org.apache.harmony.test.stress.jpda.jdwp.scenario.EVENT014.EventTest014
> crashes DRLVM in function jvmti_start_single_step_in_virtual_method(), file jvmti_step.cpp, line 504: assertion "vtable".
> Stack trace is the following:
> >	harmonyvm.dll!_assert(const char * expr=0x007fe9cc, const char * filename=0x007fe970, unsigned int lineno=504)  Line 295	C
>  	harmonyvm.dll!jvmti_start_single_step_in_virtual_method(DebugUtilsTI * ti=0x016150a0, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 504 + 0x1a	C++
>  	harmonyvm.dll!jvmti_process_jit_single_step_event(TIEnv * unused_env=0x00000000, VMBreakPoint * bp=0x03e9fa94, void * data=0x038d5950)  Line 589 + 0x11	C++
>  	harmonyvm.dll!VMBreakPoints::process_native_breakpoint()  Line 673 + 0x25	C++
>  	harmonyvm.dll!process_native_breakpoint_event()  Line 1329	C++
>  	harmonyvm.dll!asm_process_native_breakpoint_event()  Line 1341	C++
>  	12737a4c()	
>  	harmonyvm.dll!vm_invoke_native_array_stub(unsigned int * args=0x03e9fd14, int sz=1, void * f=0x0188c5d0)  Line 77	C++
>  	harmonyvm.dll!JIT_execute_method_default(void * jit=0x00000000, _jmethodID * methodID=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 200	C++
>  	em.dll!DrlEMImpl::executeMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 509 + 0x16	C++
>  	em.dll!ExecuteMethod(_jmethodID * meth=0x02f9a148, jvalue * return_value=0x00000000, jvalue * args=0x03e9fef4)  Line 43 + 0x21	C++
>  	harmonyvm.dll!vm_execute_java_method_array(_jmethodID * method=0x02f9a148, jvalue * result=0x00000000, jvalue * args=0x03e9fef4)  Line 60 + 0x1b	C++
>  	harmonyvm.dll!Objects_To_Finalize::do_finalization(int quantity=0)  Line 519 + 0xf	C++
>  	harmonyvm.dll!vm_do_finalization(int quantity=0)  Line 631	C++
>  	harmonyvm.dll!finalizer_thread_func(void * * args=0x035f02a0)  Line 241 + 0x7	C++
>  	hythr.dll!thread_start_proc(void * arg=0x00427320)  Line 729 + 0x9	C
>  	hythr.dll!_threadstartex(void * ptd=0x00427418)  Line 241 + 0xd	C
>  	kernel32.dll!77e66063() 	
> This crash happens only in JIT mode. If debugg VM is started in -Xint mode (using option "-Djpda.settings.debuggeeVMExtraOptions=-Xint"), test successfully passes. I believe this is bug in implementation of JVMTI single step support in JIT mode.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.