You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Andrey Pavlenko (JIRA)" <ji...@apache.org> on 2007/09/27 11:44:50 UTC
[jira] Created: (HARMONY-4866) [drlvm][jit] VM crash instead of NPE
[drlvm][jit] VM crash instead of NPE
------------------------------------
Key: HARMONY-4866
URL: https://issues.apache.org/jira/browse/HARMONY-4866
Project: Harmony
Issue Type: Bug
Components: DRLVM
Reporter: Andrey Pavlenko
Priority: Critical
The attached test causes VM crash if DRLVM is running with "-server" argument.
To reproduce the issue run the attached test with the following command:
$HARMONY_HOME/bin/java -server Test
Stack:
java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
SIGABRT in VM code.
Stack trace:
addr2line: '[vdso]': No such file
0: ?? (:-1)
1: abort (??:-1)
2: __assert_fail (??:-1)
3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
4: 0xB687A663 <Generated stub>
5: ?? (??:-1)
6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
16: main_runJavaMain (../shared/main.c:1324)
17: invocation (../shared/main.c:740)
18: gpProtectedMain (../shared/main.c:389)
19: main (../shared/cmain.c:146)
20: __libc_start_main (??:-1)
21: _start (../sysdeps/i386/elf/start.S:105)
22: Test.main([Ljava/lang/String;)V (Test.java:-1)
<end of stack trace>
Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HARMONY-4866) [drlvm][jit] VM crash instead of
NPE
Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530972 ]
Alexey Varlamov commented on HARMONY-4866:
------------------------------------------
Fix looks good, please don't miss adding regression test.
> [drlvm][jit] VM crash instead of NPE
> ------------------------------------
>
> Key: HARMONY-4866
> URL: https://issues.apache.org/jira/browse/HARMONY-4866
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Andrey Pavlenko
> Assignee: Mikhail Fursov
> Priority: Critical
> Attachments: 4866.patch, Test.java
>
>
> The attached test causes VM crash if DRLVM is running with "-server" argument.
> To reproduce the issue run the attached test with the following command:
> $HARMONY_HOME/bin/java -server Test
> Stack:
> java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
> SIGABRT in VM code.
> Stack trace:
> addr2line: '[vdso]': No such file
> 0: ?? (:-1)
> 1: abort (??:-1)
> 2: __assert_fail (??:-1)
> 3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
> 4: 0xB687A663 <Generated stub>
> 5: ?? (??:-1)
> 6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
> 7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
> 10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
> 12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
> 13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
> 14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
> 15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
> 16: main_runJavaMain (../shared/main.c:1324)
> 17: invocation (../shared/main.c:740)
> 18: gpProtectedMain (../shared/main.c:389)
> 19: main (../shared/cmain.c:146)
> 20: __libc_start_main (??:-1)
> 21: _start (../sysdeps/i386/elf/start.S:105)
> 22: Test.main([Ljava/lang/String;)V (Test.java:-1)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4866) [drlvm][jit] Lazy resolution invokes
fail if instance object is NULL
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov updated HARMONY-4866:
------------------------------------
Summary: [drlvm][jit] Lazy resolution invokes fail if instance object is NULL (was: [drlvm][jit] Lazy resolution invokes fails if object is NULL)
> [drlvm][jit] Lazy resolution invokes fail if instance object is NULL
> --------------------------------------------------------------------
>
> Key: HARMONY-4866
> URL: https://issues.apache.org/jira/browse/HARMONY-4866
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Andrey Pavlenko
> Assignee: Mikhail Fursov
> Priority: Critical
> Attachments: 4866.patch, Test.java
>
>
> The attached test causes VM crash if DRLVM is running with "-server" argument.
> To reproduce the issue run the attached test with the following command:
> $HARMONY_HOME/bin/java -server Test
> Stack:
> java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
> SIGABRT in VM code.
> Stack trace:
> addr2line: '[vdso]': No such file
> 0: ?? (:-1)
> 1: abort (??:-1)
> 2: __assert_fail (??:-1)
> 3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
> 4: 0xB687A663 <Generated stub>
> 5: ?? (??:-1)
> 6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
> 7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
> 10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
> 12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
> 13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
> 14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
> 15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
> 16: main_runJavaMain (../shared/main.c:1324)
> 17: invocation (../shared/main.c:740)
> 18: gpProtectedMain (../shared/main.c:389)
> 19: main (../shared/cmain.c:146)
> 20: __libc_start_main (??:-1)
> 21: _start (../sysdeps/i386/elf/start.S:105)
> 22: Test.main([Ljava/lang/String;)V (Test.java:-1)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4866) [drlvm][jit] VM crash instead of NPE
Posted by "Andrey Pavlenko (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Pavlenko updated HARMONY-4866:
-------------------------------------
Attachment: Test.java
> [drlvm][jit] VM crash instead of NPE
> ------------------------------------
>
> Key: HARMONY-4866
> URL: https://issues.apache.org/jira/browse/HARMONY-4866
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Andrey Pavlenko
> Priority: Critical
> Attachments: Test.java
>
>
> The attached test causes VM crash if DRLVM is running with "-server" argument.
> To reproduce the issue run the attached test with the following command:
> $HARMONY_HOME/bin/java -server Test
> Stack:
> java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
> SIGABRT in VM code.
> Stack trace:
> addr2line: '[vdso]': No such file
> 0: ?? (:-1)
> 1: abort (??:-1)
> 2: __assert_fail (??:-1)
> 3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
> 4: 0xB687A663 <Generated stub>
> 5: ?? (??:-1)
> 6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
> 7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
> 10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
> 12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
> 13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
> 14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
> 15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
> 16: main_runJavaMain (../shared/main.c:1324)
> 17: invocation (../shared/main.c:740)
> 18: gpProtectedMain (../shared/main.c:389)
> 19: main (../shared/cmain.c:146)
> 20: __libc_start_main (??:-1)
> 21: _start (../sysdeps/i386/elf/start.S:105)
> 22: Test.main([Ljava/lang/String;)V (Test.java:-1)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4866) [drlvm][jit] Lazy resolution invokes
fails if object is NULL
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov updated HARMONY-4866:
------------------------------------
Patch Info: [Patch Available]
Estimated Complexity: Novice
Summary: [drlvm][jit] Lazy resolution invokes fails if object is NULL (was: [drlvm][jit] VM crash instead of NPE)
> [drlvm][jit] Lazy resolution invokes fails if object is NULL
> ------------------------------------------------------------
>
> Key: HARMONY-4866
> URL: https://issues.apache.org/jira/browse/HARMONY-4866
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Andrey Pavlenko
> Assignee: Mikhail Fursov
> Priority: Critical
> Attachments: 4866.patch, Test.java
>
>
> The attached test causes VM crash if DRLVM is running with "-server" argument.
> To reproduce the issue run the attached test with the following command:
> $HARMONY_HOME/bin/java -server Test
> Stack:
> java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
> SIGABRT in VM code.
> Stack trace:
> addr2line: '[vdso]': No such file
> 0: ?? (:-1)
> 1: abort (??:-1)
> 2: __assert_fail (??:-1)
> 3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
> 4: 0xB687A663 <Generated stub>
> 5: ?? (??:-1)
> 6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
> 7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
> 10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
> 12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
> 13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
> 14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
> 15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
> 16: main_runJavaMain (../shared/main.c:1324)
> 17: invocation (../shared/main.c:740)
> 18: gpProtectedMain (../shared/main.c:389)
> 19: main (../shared/cmain.c:146)
> 20: __libc_start_main (??:-1)
> 21: _start (../sysdeps/i386/elf/start.S:105)
> 22: Test.main([Ljava/lang/String;)V (Test.java:-1)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HARMONY-4866) [drlvm][jit] VM crash instead of
NPE
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov reassigned HARMONY-4866:
---------------------------------------
Assignee: Mikhail Fursov
> [drlvm][jit] VM crash instead of NPE
> ------------------------------------
>
> Key: HARMONY-4866
> URL: https://issues.apache.org/jira/browse/HARMONY-4866
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Andrey Pavlenko
> Assignee: Mikhail Fursov
> Priority: Critical
> Attachments: Test.java
>
>
> The attached test causes VM crash if DRLVM is running with "-server" argument.
> To reproduce the issue run the attached test with the following command:
> $HARMONY_HOME/bin/java -server Test
> Stack:
> java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
> SIGABRT in VM code.
> Stack trace:
> addr2line: '[vdso]': No such file
> 0: ?? (:-1)
> 1: abort (??:-1)
> 2: __assert_fail (??:-1)
> 3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
> 4: 0xB687A663 <Generated stub>
> 5: ?? (??:-1)
> 6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
> 7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
> 10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
> 12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
> 13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
> 14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
> 15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
> 16: main_runJavaMain (../shared/main.c:1324)
> 17: invocation (../shared/main.c:740)
> 18: gpProtectedMain (../shared/main.c:389)
> 19: main (../shared/cmain.c:146)
> 20: __libc_start_main (??:-1)
> 21: _start (../sysdeps/i386/elf/start.S:105)
> 22: Test.main([Ljava/lang/String;)V (Test.java:-1)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HARMONY-4866) [drlvm][jit] VM crash instead of NPE
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov updated HARMONY-4866:
------------------------------------
Attachment: 4866.patch
The fix: to avoid different scenarios in hardware NPE handling in JIT for resolved and unresolved types I've added NPE checks into lazy resolution helpers
> [drlvm][jit] VM crash instead of NPE
> ------------------------------------
>
> Key: HARMONY-4866
> URL: https://issues.apache.org/jira/browse/HARMONY-4866
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Andrey Pavlenko
> Assignee: Mikhail Fursov
> Priority: Critical
> Attachments: 4866.patch, Test.java
>
>
> The attached test causes VM crash if DRLVM is running with "-server" argument.
> To reproduce the issue run the attached test with the following command:
> $HARMONY_HOME/bin/java -server Test
> Stack:
> java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
> SIGABRT in VM code.
> Stack trace:
> addr2line: '[vdso]': No such file
> 0: ?? (:-1)
> 1: abort (??:-1)
> 2: __assert_fail (??:-1)
> 3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
> 4: 0xB687A663 <Generated stub>
> 5: ?? (??:-1)
> 6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
> 7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
> 10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
> 12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
> 13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
> 14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
> 15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
> 16: main_runJavaMain (../shared/main.c:1324)
> 17: invocation (../shared/main.c:740)
> 18: gpProtectedMain (../shared/main.c:389)
> 19: main (../shared/cmain.c:146)
> 20: __libc_start_main (??:-1)
> 21: _start (../sysdeps/i386/elf/start.S:105)
> 22: Test.main([Ljava/lang/String;)V (Test.java:-1)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HARMONY-4866) [drlvm][jit] Lazy resolution
invokes fails if object is NULL
Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HARMONY-4866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov resolved HARMONY-4866.
-------------------------------------
Resolution: Fixed
committed revision r580334
regression test added.
> [drlvm][jit] Lazy resolution invokes fails if object is NULL
> ------------------------------------------------------------
>
> Key: HARMONY-4866
> URL: https://issues.apache.org/jira/browse/HARMONY-4866
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Andrey Pavlenko
> Assignee: Mikhail Fursov
> Priority: Critical
> Attachments: 4866.patch, Test.java
>
>
> The attached test causes VM crash if DRLVM is running with "-server" argument.
> To reproduce the issue run the attached test with the following command:
> $HARMONY_HOME/bin/java -server Test
> Stack:
> java: /nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2102: void* rth_invokevirtual_addr_withresolve(Class*, unsigned int, ManagedObject*): Assertion `obj!=__null' failed.
> SIGABRT in VM code.
> Stack trace:
> addr2line: '[vdso]': No such file
> 0: ?? (:-1)
> 1: abort (??:-1)
> 2: __assert_fail (??:-1)
> 3: rth_invokevirtual_addr_withresolve (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/jit_runtime_support.cpp:2104)
> 4: 0xB687A663 <Generated stub>
> 5: ?? (??:-1)
> 6: Test$MyClass.test(Ljava/nio/ByteBuffer;)V (Test.java:16)
> 7: vm_invoke_native_array_stub (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 8: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
> 9: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/DrlEMImpl.cpp:514)
> 10: ExecuteMethod (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/em/src/em_intf.cpp:43)
> 11: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jit/ini.cpp:62)
> 12: call_static_method_no_ref_result (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1157)
> 13: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1565)
> 14: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1549)
> 15: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/nfs/ims/proj/drl/mrt3/users/apavlen1/work/harmony/svn/drlvm/vm/vmcore/src/jni/jni_method.cpp:1539)
> 16: main_runJavaMain (../shared/main.c:1324)
> 17: invocation (../shared/main.c:740)
> 18: gpProtectedMain (../shared/main.c:389)
> 19: main (../shared/cmain.c:146)
> 20: __libc_start_main (??:-1)
> 21: _start (../sysdeps/i386/elf/start.S:105)
> 22: Test.main([Ljava/lang/String;)V (Test.java:-1)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.