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