Assertion failed when create not existent class
-----------------------------------------------
Key: HARMONY-1869
URL: http://issues.apache.org/jira/browse/HARMONY-1869
Project: Harmony
Issue Type: Bug
Components: DRLVM
Environment: All
Reporter: Nikolay Chugunov
Priority: Critical
Assertion failed when VM try to create instance of not existent class.
Code for reproducing:
package test2;
public class Bug {
public static void main(String[] args) {
new B();
System.out.println("PASSED");
}
}
To reproduce:
1. Create empty class B
2. Compile Bug and B classes.
3. Remove compiled B class.
4. Run Bug
Output on r454528, (Oct 13 2006) debug version on linux ia32 SuSe:
drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp:524: const char* class_get_name(Class*):
Assertion `cl' failed.
SIGABRT in VM code.
Stack trace:
1: ?? (??:-1)
2: abort (??:-1)
3: __assert_fail (??:-1)
4: class_get_name (/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp:525)
5: Jitrino::Jet::is_magic(Class*) (??:-1)
6: Jitrino::Jet::Compiler::gen_magic() (??:-1)
7: Jitrino::Jet::Compiler::handle_inst() (??:-1)
8: Jitrino::Jet::Compiler::comp_gen_insts(unsigned int, unsigned int, unsigned int)
(??:-1)
9: Jitrino::Jet::Compiler::comp_gen_code_bb(unsigned int) (??:-1)
10: Jitrino::Jet::Compiler::compile(void*, Method*, OpenMethodExecutionParams const&)
(??:-1)
11: Jitrino::Jet::compile_with_params(void*, void*, Method*, OpenMethodExecutionParams)
(??:-1)
12: JIT_compile_method_with_params (??:-1)
13: Dll_JIT::compile_method_with_params(void*, Method*, OpenMethodExecutionParams)
(/drlvm/trunk/vm/vmcore/include/dll_jit_intf.h:86)
14: compile_do_compilation_jit(Method*, JIT*) (/drlvm/trunk/vm/vmcore/src/jit/compile.cpp:700)
15: vm_compile_method (/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp:2538)
16: DrlEMImpl::compileMethod(Method*) (/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:520)
17: CompileMethod (/drlvm/trunk/vm/em/src/em_intf.cpp:49)
18: compile_do_compilation (/drlvm/trunk/vm/vmcore/src/jit/compile.cpp:780)
19: compile_jit_a_method(Method*) (/drlvm/trunk/vm/vmcore/src/jit/compile.cpp:828)
20: IP is 0x410CF172 <native code>
21: vm_invoke_native_array_stub (/drlvm/trunk/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
22: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*) (/drlvm/trunk/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
23: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) (/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:489)
24: ExecuteMethod (/drlvm/trunk/vm/em/src/em_intf.cpp:43)
25: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*) (/drlvm/trunk/vm/vmcore/src/jit/ini.cpp:58)
26: call_static_method_no_ref_result (/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:1072)
27: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*) (/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:1450)
28: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*) (/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:1437)
29: CallStaticVoidMethod(JNIEnv_External*, _jobject*, _jmethodID*, ...) (/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:1427)
30: ?? (??:-1)
31: ?? (??:-1)
32: ?? (??:-1)
33: ?? (??:-1)
34: hysig_protect (??:-1)
35: ?? (??:-1)
36: __libc_start_main (??:-1)
37: ?? (??:-1)
<end of stack trace>
Aborted
On Windows it also failed with similar problem.
--
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
|