harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Irina Arkhipets (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-1844) [drlvm][jit] -Xem opt: crash when use getstatic instruction for method getstatic java.util.zip.ZipConstants.CENSIG
Date Thu, 12 Oct 2006 11:29:35 GMT
[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

        

Mime
View raw message