On the 0x246 day of Apache Harmony Egor Pasko wrote: > On the 0x245 day of Apache Harmony Naveen Neelakantam wrote: > > I am currently working to finish Egor Pasko's re-implementation of > > ABCD, and as a result I like to build vm.jitrino in debug mode (so > > that I can use asserts). However, building vm.jitrino in debug mode > > breaks DRLVM. I've created 2 JIRAs that reflect this HARMONY-2805 > > and HARMONY-2804. > > > > This raises a question in my mind. Is anyone testing DRLVM built > > fully in debug mode? The default Cruise Control setup does not do > > this and I find that troubling. > > Naveen, you can try the following as a workaround: > ------------------------------------------------------ > --- a/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.h > +++ b/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.h > @@ -30,7 +30,7 @@ #include "Ia32BCMap.h" > #include "DrlVMInterface.h" > > #ifdef _DEBUG > -#define GCMAP_TRACK_IDS > +// #define GCMAP_TRACK_IDS > #endif > > namespace Jitrino > ------------------------------------------------------ > > works for me
BTW, I attached the right fix to HARMONY-2805, tests pass in debug mode.. > > Naveen > > > > Begin forwarded message: > > > > > From: "Naveen Neelakantam (JIRA)" <[EMAIL PROTECTED]> > > > Date: December 19, 2006 12:58:20 PM CST > > > To: [EMAIL PROTECTED] > > > Subject: [jira] Created: (HARMONY-2805) VM segfault > > > > > > VM segfault > > > ----------- > > > > > > Key: HARMONY-2805 > > > URL: http://issues.apache.org/jira/browse/ > > > HARMONY-2805 > > > Project: Harmony > > > Issue Type: Bug > > > Components: DRLVM > > > Environment: RHEL 4 update 4, gcc 3.4.6, core2 (i386) > > > Reporter: Naveen Neelakantam > > > Priority: Blocker > > > > > > > > > If I build vm.jitrino in debug mode, the VM segfaults on any Java > > > app that runs for a non-trivial amount of time. > > > > > > The bug also manifests iteself if you type: > > >> java -Xem:server_static -showversion > > > Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache > > > Software Foundation or its licensors, as applicable. > > > java version "1.5.0" > > > pre-alpha : not complete or compatible > > > svn = r488351, (Dec 18 2006), Linux/ia32/gcc 3.4.6, debug build > > > http://incubator.apache.org/harmony > > > SIGSEGV in VM code. > > > Stack trace: > > > 1: Jitrino::Ia32::GCSafePoint::isHardwareExceptionPoint() > > > const (/home/dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/vm/ > > > jitrino/src/codegenerator/ia32/Ia32GCMap.h:102) > > > 2: Jitrino::Ia32::hwecompare::operator() > > > (Jitrino::Ia32::GCSafePoint const*, Jitrino::Ia32::GCSafePoint > > > const*) const (/home/dcsfiles/neelakan/Sandbox/Harmony/trunk/ > > > working_vm/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp:221) > > > 3: ?? (00313f5d > > > :313) > > > 4: ?? (00313931 > > > :313931) > > > 5: ?? (00312d8a > > > :312) > > > 6: ?? (003115d0 > > > :3115) > > > 7: Jitrino::Ia32::GCMap::write(unsigned char*) (/home/ > > > dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/vm/jitrino/src/ > > > codegenerator/ia32/Ia32GCMap.cpp:239) > > > 8: Jitrino::Ia32::InfoBlockWriter::runImpl() (/home/ > > > dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/vm/jitrino/src/ > > > codegenerator/ia32/Ia32GCMap.cpp:528) > > > 9: Jitrino::Ia32::SessionAction::run() (/home/dcsfiles/ > > > neelakan/Sandbox/Harmony/trunk/working_vm/vm/jitrino/src/ > > > codegenerator/ia32/Ia32IRManager.cpp:2155) > > > 10: Jitrino::runPipeline(Jitrino::CompilationContext*) (/ > > > home/dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/vm/jitrino/ > > > src/main/Jitrino.cpp:226) > > > 11: Jitrino::compileMethod(Jitrino::CompilationContext*) (/ > > > home/dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/vm/jitrino/ > > > src/main/Jitrino.cpp:261) > > > 12: Jitrino::Jitrino::CompileMethod > > > (Jitrino::CompilationContext*) (/home/dcsfiles/neelakan/Sandbox/ > > > Harmony/trunk/working_vm/vm/jitrino/src/main/Jitrino.cpp:286) > > > 13: JIT_compile_method_with_params (/home/dcsfiles/neelakan/ > > > Sandbox/Harmony/trunk/working_vm/vm/jitrino/src/vm/drl/ > > > DrlJITInterface.cpp:278) > > > 14: Dll_JIT::compile_method_with_params(void*, Method*, > > > OpenMethodExecutionParams) (/home/dcsfiles/neelakan/Sandbox/Harmony/ > > > trunk/working_vm/vm/vmcore/include/dll_jit_intf.h:86) > > > 15: compile_do_compilation_jit(Method*, JIT*) (/home/ > > > dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/vm/vmcore/src/ > > > jit/compile.cpp:709) > > > 16: vm_compile_method (/home/dcsfiles/neelakan/Sandbox/ > > > Harmony/trunk/working_vm/vm/vmcore/src/class_support/ > > > C_Interface.cpp:2454) > > > 17: DrlEMImpl::compileMethod(Method*) (/home/dcsfiles/ > > > neelakan/Sandbox/Harmony/trunk/working_vm/vm/em/src/DrlEMImpl.cpp:545) > > > 18: CompileMethod (/home/dcsfiles/neelakan/Sandbox/Harmony/ > > > trunk/working_vm/vm/em/src/em_intf.cpp:49) > > > 19: compile_do_compilation (/home/dcsfiles/neelakan/Sandbox/ > > > Harmony/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:789) > > > 20: compile_jit_a_method(Method*) (/home/dcsfiles/neelakan/ > > > Sandbox/Harmony/trunk/working_vm/vm/vmcore/src/jit/compile.cpp:840) > > > 21: IP is 0xB6974162 <native code> > > > 22: vm_invoke_native_array_stub (/home/dcsfiles/neelakan/ > > > Sandbox/Harmony/trunk/working_vm/vm/vmcore/src/util/ia32/base/ > > > invoke_native_stub_ia32.asm:41) > > > 23: JIT_execute_method_default(void*, _jmethodID*, jvalue*, > > > jvalue*) (/home/dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/ > > > vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199) > > > 24: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*) > > > (/home/dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/vm/em/src/ > > > DrlEMImpl.cpp:514) > > > 25: ExecuteMethod (/home/dcsfiles/neelakan/Sandbox/Harmony/ > > > trunk/working_vm/vm/em/src/em_intf.cpp:43) > > > 26: vm_execute_java_method_array(_jmethodID*, jvalue*, > > > jvalue*) (/home/dcsfiles/neelakan/Sandbox/Harmony/trunk/working_vm/ > > > vm/vmcore/src/jit/ini.cpp:51) > > > 27: vm_create_jthread (/home/dcsfiles/neelakan/Sandbox/ > > > Harmony/trunk/working_vm/vm/vmcore/src/init/vm_init.cpp:549) > > > 28: vm_attach_internal(JNIEnv_External**, _jobject**, > > > JavaVM_External*, _jobject*, char*, unsigned char) (/home/dcsfiles/ > > > neelakan/Sandbox/Harmony/trunk/working_vm/vm/vmcore/src/init/ > > > vm_init.cpp:588) > > > 29: JNI_CreateJavaVM (/home/dcsfiles/neelakan/Sandbox/ > > > Harmony/trunk/working_vm/vm/vmcore/src/jni/jni.cpp:499) > > > 30: ?? (??:-1) > > > 31: ?? (??:-1) > > > 32: ?? (??:-1) > > > 33: hysig_protect (/home/dcsfiles/neelakan/Sandbox/Harmony/ > > > trunk/working_classlib/modules/portlib/src/main/native/port/unix/ > > > hysignal.c:283) > > > 34: ?? (??:-1) > > > 35: ?? (??:-1) > > > 36: ?? (??:-1) > > > <end of stack trace> > > > Segmentation fault > > > > > > > > > -- > > > 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 > > > > > > > > > > -- > Egor Pasko > > -- Egor Pasko
