You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Irina Arkhipets (JIRA)" <ji...@apache.org> on 2006/10/12 13:29:35 UTC

[jira] Created: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG

[drlvm][jit] -Xem opt:  crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
-------------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-1844
                 URL: http://issues.apache.org/jira/browse/HARMONY-1844
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Linux IA-32, Windows IA-32
            Reporter: Irina Arkhipets


Attempt of the using java/util/zip/ZipConstants/CENSIG  produces java crash instead of java.lang.IllegalAccessError in OPT mode.

Stack trace shows that the problem is in the translator (see the sample output below).

The following test example demonstrates the failure:
--------- test.j ---------
.class public test

.super java/lang/Object

.method public static main([Ljava/lang/String;)V
    .limit stack 10
    .limit locals 10

    getstatic java/util/zip/ZipConstants/CENSIG J ;         

lastblock:
    getstatic java/lang/System/err Ljava/io/PrintStream;
    dup_x2

    return
.end method
--------------------------

Please, compile this source ("java -jar jasmin.jar test.j") and run it with OPT Jitrino ("java -Xem:opt -Dvm.assert_dialog=false test") to reproduce the failure.

This bug is not reproducible with JRockit JDK, as well as with DRL VM in interpreter, jet and client modes.

Please, note that the following test example causes IllegalAccessError as expected:
---------test1.j ---------
.class public test1

.super java/lang/Object

.method public static main([Ljava/lang/String;)V
    .limit stack 10
    .limit locals 10

    getstatic java/util/zip/ZipConstants/CENSIG J ;         

    return

.end method
----------------------------

Sample output is:
...
java: /export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:111: Jitrino::Opnd* Jitrino::OpndStack::pop(): Assertion `0' failed.
SIGABRT in VM code.
Stack trace:
        1: ?? (??:-1)
        2: abort (??:-1)
        3: __assert_fail (??:-1)
        4: Jitrino::OpndStack::pop() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:114)
        5: Jitrino::JavaByteCodeTranslator::popOpnd() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:471)
        6: Jitrino::JavaByteCodeTranslator::dup_x2() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:1205)
        7: .L114 (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:417)
        8: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/ByteCodeParser.h:66)
        9: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
        10: Jitrino::TranslatorSession::translate() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
        11: Jitrino::TranslatorSession::run() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
        12: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226)
        13: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261)
        14: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286)
        15: JIT_compile_method_with_params (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
        16: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
        17: compile_do_compilation_jit(Method*, JIT*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:700)
        18: vm_compile_method (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
        19: DrlEMImpl::compileMethod(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:520)
        20: CompileMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:49)
        21: compile_do_compilation (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:780)
        22: compile_jit_a_method(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:828)
        23: IP is 0x410D0172 <native code>
        24: vm_invoke_native_array_stub (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
        25: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
        26: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:489)
        27: ExecuteMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:43)
        28: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/ini.cpp:58)
        29: call_static_method_no_ref_result (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1072)
        30: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1450)
        31: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1437)
        32: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1427)
        33: ?? (??:-1)
        34: ?? (??:-1)
        35: ?? (??:-1)
        36: ?? (??:-1)
        37: hysig_protect (??:-1)
        38: ?? (??:-1)
        39: __libc_start_main (??:-1)
        40: ?? (??:-1)
<end of stack trace>
Aborted
...


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

        

[jira] Updated: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG

Posted by "Geir Magnusson Jr (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1844?page=all ]

Geir Magnusson Jr updated HARMONY-1844:
---------------------------------------

    Patch Info: [Patch Available]

> [drlvm][jit] -Xem opt:  crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1844
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1844
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux IA-32, Windows IA-32
>            Reporter: Irina Arkhipets
>         Attachments: dup_x.diff, test.j
>
>
> Attempt of the using java/util/zip/ZipConstants/CENSIG  produces java crash instead of java.lang.IllegalAccessError in OPT mode.
> Stack trace shows that the problem is in the translator (see the sample output below).
> The following test example demonstrates the failure:
> --------- test.j ---------
> .class public test
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
> lastblock:
>     getstatic java/lang/System/err Ljava/io/PrintStream;
>     dup_x2
>     return
> .end method
> --------------------------
> Please, compile this source ("java -jar jasmin.jar test.j") and run it with OPT Jitrino ("java -Xem:opt -Dvm.assert_dialog=false test") to reproduce the failure.
> This bug is not reproducible with JRockit JDK, as well as with DRL VM in interpreter, jet and client modes.
> Please, note that the following test example causes IllegalAccessError as expected:
> ---------test1.j ---------
> .class public test1
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
>     return
> .end method
> ----------------------------
> Sample output is:
> ...
> java: /export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:111: Jitrino::Opnd* Jitrino::OpndStack::pop(): Assertion `0' failed.
> SIGABRT in VM code.
> Stack trace:
>         1: ?? (??:-1)
>         2: abort (??:-1)
>         3: __assert_fail (??:-1)
>         4: Jitrino::OpndStack::pop() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:114)
>         5: Jitrino::JavaByteCodeTranslator::popOpnd() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:471)
>         6: Jitrino::JavaByteCodeTranslator::dup_x2() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:1205)
>         7: .L114 (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:417)
>         8: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/ByteCodeParser.h:66)
>         9: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
>         10: Jitrino::TranslatorSession::translate() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
>         11: Jitrino::TranslatorSession::run() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
>         12: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226)
>         13: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261)
>         14: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286)
>         15: JIT_compile_method_with_params (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
>         16: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
>         17: compile_do_compilation_jit(Method*, JIT*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:700)
>         18: vm_compile_method (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
>         19: DrlEMImpl::compileMethod(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:520)
>         20: CompileMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:49)
>         21: compile_do_compilation (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:780)
>         22: compile_jit_a_method(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:828)
>         23: IP is 0x410D0172 <native code>
>         24: vm_invoke_native_array_stub (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
>         25: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
>         26: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:489)
>         27: ExecuteMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:43)
>         28: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/ini.cpp:58)
>         29: call_static_method_no_ref_result (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1072)
>         30: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1450)
>         31: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1437)
>         32: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1427)
>         33: ?? (??:-1)
>         34: ?? (??:-1)
>         35: ?? (??:-1)
>         36: ?? (??:-1)
>         37: hysig_protect (??:-1)
>         38: ?? (??:-1)
>         39: __libc_start_main (??:-1)
>         40: ?? (??:-1)
> <end of stack trace>
> Aborted
> ...

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

        

[jira] Updated: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1844?page=all ]

Mikhail Fursov updated HARMONY-1844:
------------------------------------

    Attachment: dup_x.diff

The fix. 
The problem was with incorrect type of the constant pushed to the stack if field resolution fails.

> [drlvm][jit] -Xem opt:  crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1844
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1844
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux IA-32, Windows IA-32
>            Reporter: Irina Arkhipets
>         Attachments: dup_x.diff, test.j
>
>
> Attempt of the using java/util/zip/ZipConstants/CENSIG  produces java crash instead of java.lang.IllegalAccessError in OPT mode.
> Stack trace shows that the problem is in the translator (see the sample output below).
> The following test example demonstrates the failure:
> --------- test.j ---------
> .class public test
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
> lastblock:
>     getstatic java/lang/System/err Ljava/io/PrintStream;
>     dup_x2
>     return
> .end method
> --------------------------
> Please, compile this source ("java -jar jasmin.jar test.j") and run it with OPT Jitrino ("java -Xem:opt -Dvm.assert_dialog=false test") to reproduce the failure.
> This bug is not reproducible with JRockit JDK, as well as with DRL VM in interpreter, jet and client modes.
> Please, note that the following test example causes IllegalAccessError as expected:
> ---------test1.j ---------
> .class public test1
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
>     return
> .end method
> ----------------------------
> Sample output is:
> ...
> java: /export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:111: Jitrino::Opnd* Jitrino::OpndStack::pop(): Assertion `0' failed.
> SIGABRT in VM code.
> Stack trace:
>         1: ?? (??:-1)
>         2: abort (??:-1)
>         3: __assert_fail (??:-1)
>         4: Jitrino::OpndStack::pop() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:114)
>         5: Jitrino::JavaByteCodeTranslator::popOpnd() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:471)
>         6: Jitrino::JavaByteCodeTranslator::dup_x2() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:1205)
>         7: .L114 (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:417)
>         8: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/ByteCodeParser.h:66)
>         9: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
>         10: Jitrino::TranslatorSession::translate() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
>         11: Jitrino::TranslatorSession::run() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
>         12: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226)
>         13: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261)
>         14: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286)
>         15: JIT_compile_method_with_params (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
>         16: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
>         17: compile_do_compilation_jit(Method*, JIT*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:700)
>         18: vm_compile_method (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
>         19: DrlEMImpl::compileMethod(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:520)
>         20: CompileMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:49)
>         21: compile_do_compilation (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:780)
>         22: compile_jit_a_method(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:828)
>         23: IP is 0x410D0172 <native code>
>         24: vm_invoke_native_array_stub (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
>         25: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
>         26: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:489)
>         27: ExecuteMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:43)
>         28: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/ini.cpp:58)
>         29: call_static_method_no_ref_result (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1072)
>         30: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1450)
>         31: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1437)
>         32: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1427)
>         33: ?? (??:-1)
>         34: ?? (??:-1)
>         35: ?? (??:-1)
>         36: ?? (??:-1)
>         37: hysig_protect (??:-1)
>         38: ?? (??:-1)
>         39: __libc_start_main (??:-1)
>         40: ?? (??:-1)
> <end of stack trace>
> Aborted
> ...

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

        

[jira] Assigned: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG

Posted by "Geir Magnusson Jr (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1844?page=all ]

Geir Magnusson Jr reassigned HARMONY-1844:
------------------------------------------

    Assignee: Geir Magnusson Jr

> [drlvm][jit] -Xem opt:  crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1844
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1844
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux IA-32, Windows IA-32
>            Reporter: Irina Arkhipets
>         Assigned To: Geir Magnusson Jr
>         Attachments: dup_x.diff, test.j
>
>
> Attempt of the using java/util/zip/ZipConstants/CENSIG  produces java crash instead of java.lang.IllegalAccessError in OPT mode.
> Stack trace shows that the problem is in the translator (see the sample output below).
> The following test example demonstrates the failure:
> --------- test.j ---------
> .class public test
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
> lastblock:
>     getstatic java/lang/System/err Ljava/io/PrintStream;
>     dup_x2
>     return
> .end method
> --------------------------
> Please, compile this source ("java -jar jasmin.jar test.j") and run it with OPT Jitrino ("java -Xem:opt -Dvm.assert_dialog=false test") to reproduce the failure.
> This bug is not reproducible with JRockit JDK, as well as with DRL VM in interpreter, jet and client modes.
> Please, note that the following test example causes IllegalAccessError as expected:
> ---------test1.j ---------
> .class public test1
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
>     return
> .end method
> ----------------------------
> Sample output is:
> ...
> java: /export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:111: Jitrino::Opnd* Jitrino::OpndStack::pop(): Assertion `0' failed.
> SIGABRT in VM code.
> Stack trace:
>         1: ?? (??:-1)
>         2: abort (??:-1)
>         3: __assert_fail (??:-1)
>         4: Jitrino::OpndStack::pop() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:114)
>         5: Jitrino::JavaByteCodeTranslator::popOpnd() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:471)
>         6: Jitrino::JavaByteCodeTranslator::dup_x2() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:1205)
>         7: .L114 (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:417)
>         8: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/ByteCodeParser.h:66)
>         9: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
>         10: Jitrino::TranslatorSession::translate() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
>         11: Jitrino::TranslatorSession::run() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
>         12: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226)
>         13: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261)
>         14: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286)
>         15: JIT_compile_method_with_params (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
>         16: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
>         17: compile_do_compilation_jit(Method*, JIT*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:700)
>         18: vm_compile_method (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
>         19: DrlEMImpl::compileMethod(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:520)
>         20: CompileMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:49)
>         21: compile_do_compilation (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:780)
>         22: compile_jit_a_method(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:828)
>         23: IP is 0x410D0172 <native code>
>         24: vm_invoke_native_array_stub (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
>         25: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
>         26: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:489)
>         27: ExecuteMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:43)
>         28: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/ini.cpp:58)
>         29: call_static_method_no_ref_result (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1072)
>         30: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1450)
>         31: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1437)
>         32: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1427)
>         33: ?? (??:-1)
>         34: ?? (??:-1)
>         35: ?? (??:-1)
>         36: ?? (??:-1)
>         37: hysig_protect (??:-1)
>         38: ?? (??:-1)
>         39: __libc_start_main (??:-1)
>         40: ?? (??:-1)
> <end of stack trace>
> Aborted
> ...

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

        

[jira] Updated: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG

Posted by "Irina Arkhipets (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1844?page=all ]

Irina Arkhipets updated HARMONY-1844:
-------------------------------------

    Attachment: test.j

Test source file

> [drlvm][jit] -Xem opt:  crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1844
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1844
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux IA-32, Windows IA-32
>            Reporter: Irina Arkhipets
>         Attachments: test.j
>
>
> Attempt of the using java/util/zip/ZipConstants/CENSIG  produces java crash instead of java.lang.IllegalAccessError in OPT mode.
> Stack trace shows that the problem is in the translator (see the sample output below).
> The following test example demonstrates the failure:
> --------- test.j ---------
> .class public test
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
> lastblock:
>     getstatic java/lang/System/err Ljava/io/PrintStream;
>     dup_x2
>     return
> .end method
> --------------------------
> Please, compile this source ("java -jar jasmin.jar test.j") and run it with OPT Jitrino ("java -Xem:opt -Dvm.assert_dialog=false test") to reproduce the failure.
> This bug is not reproducible with JRockit JDK, as well as with DRL VM in interpreter, jet and client modes.
> Please, note that the following test example causes IllegalAccessError as expected:
> ---------test1.j ---------
> .class public test1
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
>     return
> .end method
> ----------------------------
> Sample output is:
> ...
> java: /export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:111: Jitrino::Opnd* Jitrino::OpndStack::pop(): Assertion `0' failed.
> SIGABRT in VM code.
> Stack trace:
>         1: ?? (??:-1)
>         2: abort (??:-1)
>         3: __assert_fail (??:-1)
>         4: Jitrino::OpndStack::pop() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:114)
>         5: Jitrino::JavaByteCodeTranslator::popOpnd() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:471)
>         6: Jitrino::JavaByteCodeTranslator::dup_x2() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:1205)
>         7: .L114 (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:417)
>         8: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/ByteCodeParser.h:66)
>         9: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
>         10: Jitrino::TranslatorSession::translate() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
>         11: Jitrino::TranslatorSession::run() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
>         12: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226)
>         13: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261)
>         14: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286)
>         15: JIT_compile_method_with_params (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
>         16: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
>         17: compile_do_compilation_jit(Method*, JIT*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:700)
>         18: vm_compile_method (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
>         19: DrlEMImpl::compileMethod(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:520)
>         20: CompileMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:49)
>         21: compile_do_compilation (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:780)
>         22: compile_jit_a_method(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:828)
>         23: IP is 0x410D0172 <native code>
>         24: vm_invoke_native_array_stub (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
>         25: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
>         26: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:489)
>         27: ExecuteMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:43)
>         28: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/ini.cpp:58)
>         29: call_static_method_no_ref_result (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1072)
>         30: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1450)
>         31: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1437)
>         32: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1427)
>         33: ?? (??:-1)
>         34: ?? (??:-1)
>         35: ?? (??:-1)
>         36: ?? (??:-1)
>         37: hysig_protect (??:-1)
>         38: ?? (??:-1)
>         39: __libc_start_main (??:-1)
>         40: ?? (??:-1)
> <end of stack trace>
> Aborted
> ...

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

        

[jira] Closed: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG

Posted by "Geir Magnusson Jr (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1844?page=all ]

Geir Magnusson Jr closed HARMONY-1844.
--------------------------------------


> [drlvm][jit] -Xem opt:  crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1844
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1844
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux IA-32, Windows IA-32
>            Reporter: Irina Arkhipets
>         Assigned To: Geir Magnusson Jr
>         Attachments: dup_x.diff, test.j
>
>
> Attempt of the using java/util/zip/ZipConstants/CENSIG  produces java crash instead of java.lang.IllegalAccessError in OPT mode.
> Stack trace shows that the problem is in the translator (see the sample output below).
> The following test example demonstrates the failure:
> --------- test.j ---------
> .class public test
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
> lastblock:
>     getstatic java/lang/System/err Ljava/io/PrintStream;
>     dup_x2
>     return
> .end method
> --------------------------
> Please, compile this source ("java -jar jasmin.jar test.j") and run it with OPT Jitrino ("java -Xem:opt -Dvm.assert_dialog=false test") to reproduce the failure.
> This bug is not reproducible with JRockit JDK, as well as with DRL VM in interpreter, jet and client modes.
> Please, note that the following test example causes IllegalAccessError as expected:
> ---------test1.j ---------
> .class public test1
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
>     return
> .end method
> ----------------------------
> Sample output is:
> ...
> java: /export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:111: Jitrino::Opnd* Jitrino::OpndStack::pop(): Assertion `0' failed.
> SIGABRT in VM code.
> Stack trace:
>         1: ?? (??:-1)
>         2: abort (??:-1)
>         3: __assert_fail (??:-1)
>         4: Jitrino::OpndStack::pop() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:114)
>         5: Jitrino::JavaByteCodeTranslator::popOpnd() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:471)
>         6: Jitrino::JavaByteCodeTranslator::dup_x2() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:1205)
>         7: .L114 (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:417)
>         8: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/ByteCodeParser.h:66)
>         9: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
>         10: Jitrino::TranslatorSession::translate() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
>         11: Jitrino::TranslatorSession::run() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
>         12: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226)
>         13: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261)
>         14: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286)
>         15: JIT_compile_method_with_params (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
>         16: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
>         17: compile_do_compilation_jit(Method*, JIT*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:700)
>         18: vm_compile_method (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
>         19: DrlEMImpl::compileMethod(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:520)
>         20: CompileMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:49)
>         21: compile_do_compilation (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:780)
>         22: compile_jit_a_method(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:828)
>         23: IP is 0x410D0172 <native code>
>         24: vm_invoke_native_array_stub (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
>         25: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
>         26: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:489)
>         27: ExecuteMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:43)
>         28: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/ini.cpp:58)
>         29: call_static_method_no_ref_result (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1072)
>         30: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1450)
>         31: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1437)
>         32: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1427)
>         33: ?? (??:-1)
>         34: ?? (??:-1)
>         35: ?? (??:-1)
>         36: ?? (??:-1)
>         37: hysig_protect (??:-1)
>         38: ?? (??:-1)
>         39: __libc_start_main (??:-1)
>         40: ?? (??:-1)
> <end of stack trace>
> Aborted
> ...

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

        

[jira] Resolved: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG

Posted by "Geir Magnusson Jr (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-1844?page=all ]

Geir Magnusson Jr resolved HARMONY-1844.
----------------------------------------

    Resolution: Fixed

r471210

Ubuntu 6 - smoke, c-unit, ~kernel

> [drlvm][jit] -Xem opt:  crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1844
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1844
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux IA-32, Windows IA-32
>            Reporter: Irina Arkhipets
>         Assigned To: Geir Magnusson Jr
>         Attachments: dup_x.diff, test.j
>
>
> Attempt of the using java/util/zip/ZipConstants/CENSIG  produces java crash instead of java.lang.IllegalAccessError in OPT mode.
> Stack trace shows that the problem is in the translator (see the sample output below).
> The following test example demonstrates the failure:
> --------- test.j ---------
> .class public test
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
> lastblock:
>     getstatic java/lang/System/err Ljava/io/PrintStream;
>     dup_x2
>     return
> .end method
> --------------------------
> Please, compile this source ("java -jar jasmin.jar test.j") and run it with OPT Jitrino ("java -Xem:opt -Dvm.assert_dialog=false test") to reproduce the failure.
> This bug is not reproducible with JRockit JDK, as well as with DRL VM in interpreter, jet and client modes.
> Please, note that the following test example causes IllegalAccessError as expected:
> ---------test1.j ---------
> .class public test1
> .super java/lang/Object
> .method public static main([Ljava/lang/String;)V
>     .limit stack 10
>     .limit locals 10
>     getstatic java/util/zip/ZipConstants/CENSIG J ;         
>     return
> .end method
> ----------------------------
> Sample output is:
> ...
> java: /export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:111: Jitrino::Opnd* Jitrino::OpndStack::pop(): Assertion `0' failed.
> SIGABRT in VM code.
> Stack trace:
>         1: ?? (??:-1)
>         2: abort (??:-1)
>         3: __assert_fail (??:-1)
>         4: Jitrino::OpndStack::pop() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.h:114)
>         5: Jitrino::JavaByteCodeTranslator::popOpnd() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:471)
>         6: Jitrino::JavaByteCodeTranslator::dup_x2() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeTranslator.cpp:1205)
>         7: .L114 (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaByteCodeParser.cpp:417)
>         8: Jitrino::ByteCodeParser::parse(Jitrino::ByteCodeParserCallback*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/ByteCodeParser.h:66)
>         9: Jitrino::JavaTranslator::translateMethod(Jitrino::CompilationInterface&, Jitrino::MethodDesc&, Jitrino::IRBuilder&) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/java/JavaTranslator.cpp:58)
>         10: Jitrino::TranslatorSession::translate() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:62)
>         11: Jitrino::TranslatorSession::run() (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/translator/TranslatorIntfc.cpp:44)
>         12: Jitrino::runPipeline(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:226)
>         13: Jitrino::compileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:261)
>         14: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286)
>         15: JIT_compile_method_with_params (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:282)
>         16: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
>         17: compile_do_compilation_jit(Method*, JIT*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:700)
>         18: vm_compile_method (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2538)
>         19: DrlEMImpl::compileMethod(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:520)
>         20: CompileMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:49)
>         21: compile_do_compilation (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:780)
>         22: compile_jit_a_method(Method*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:828)
>         23: IP is 0x410D0172 <native code>
>         24: vm_invoke_native_array_stub (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
>         25: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
>         26: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:489)
>         27: ExecuteMethod (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/em/src/em_intf.cpp:43)
>         28: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jit/ini.cpp:58)
>         29: call_static_method_no_ref_result (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1072)
>         30: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1450)
>         31: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1437)
>         32: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/export/users2/iarkhipe/20061012/trunk/working_vm/vm/vmcore/src/jni/jni_method.cpp:1427)
>         33: ?? (??:-1)
>         34: ?? (??:-1)
>         35: ?? (??:-1)
>         36: ?? (??:-1)
>         37: hysig_protect (??:-1)
>         38: ?? (??:-1)
>         39: __libc_start_main (??:-1)
>         40: ?? (??:-1)
> <end of stack trace>
> Aborted
> ...

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