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.