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:31:37 UTC

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

     [ 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