harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egor Pasko <egor.pa...@gmail.com>
Subject Re: Fwd: [jira] Created: (HARMONY-2805) VM segfault
Date Thu, 21 Dec 2006 13:30:04 GMT
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)" <jira@apache.org>
> > > Date: December 19, 2006 12:58:20 PM CST
> > > To: neelakan@uiuc.edu
> > > 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


Mime
View raw message