harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Ozhdikhin (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-3586) [drlvm][jit][opt] memopt introduces infinte loop in the CFG
Date Fri, 06 Apr 2007 11:30:33 GMT
[drlvm][jit][opt] memopt introduces infinte loop in the CFG
-----------------------------------------------------------

                 Key: HARMONY-3586
                 URL: https://issues.apache.org/jira/browse/HARMONY-3586
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Any
            Reporter: Pavel Ozhdikhin


The DRLVM smoke test thread.ThreadInterrupt fails in the server optimization mode with the
following stack message:

java: /export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp:400:
bool Jitrino::ControlFlowGraph::isEdgeProfileConsistent(bool, bool,
bool): Assertion `doAssert ? false : true' failed.
SIGABRT in VM code.
Stack trace:
       0: ?? (??:-1)
       1: abort (??:-1)
       2: __assert_fail (??:-1)
       3: Jitrino::ControlFlowGraph::isEdgeProfileConsistent(bool,
bool, bool) (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp:401)
       4: Jitrino::ControlFlowGraph::smoothEdgeProfile()
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/shared/ControlFlowGraph.cpp:968)
       5: Jitrino::StaticProfiler::estimateGraph(Jitrino::IRManager&,
double, bool) (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp:259)
       6: Jitrino::StaticProfilerPass::_run(Jitrino::IRManager&)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/dynopt/StaticProfiler.cpp:299)
       7: Jitrino::OptPass::run()
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/optimizer/optpass.cpp:61)
       8: Jitrino::runPipeline(Jitrino::CompilationContext*)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/main/Jitrino.cpp:227)
       9: Jitrino::compileMethod(Jitrino::CompilationContext*)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/main/Jitrino.cpp:262)
       10: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/jitrino/src/main/Jitrino.cpp:287)
       11: JIT_compile_method_with_params
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm /jitrino/src/vm/drl/DrlJITInterface.cpp:279)
       12: Dll_JIT::compile_method_with_params(void*, Method*,
OpenMethodExecutionParams)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/include/dll_jit_intf.h:86)
       13: compile_do_compilation_jit(Method*, JIT*)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jit/compile.cpp:657)
       14: vm_compile_method
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp:2492)
       15: DrlEMImpl::methodProfileIsReady(MethodProfile*)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:772)
       16: EdgeProfileCollector::onTimeout()
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/em/src/EdgeProfileCollector.cpp:265)
       17: DrlEMImpl::tbsTimeout()
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:817)
       18: ProfilerThreadTimeout
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/em/src/em_intf.cpp:55)
       19: Java_java_lang_EMThreadSupport_onTimeout
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_EMThreadSupport.cpp:50)
       20: <Generated stub> IP is 0x52b32b6f
       21: java/lang/EMThreadSupport.run()V (EMThreadSupport.java:68)
       22: java/lang/EMThreadSupport$1.run()V (EMThreadSupport.java:44)
       23: java/lang/Thread.run()V (Thread.java:-1)
       24: java/lang/Thread.runImpl()V (Thread.java:-1)
       25: vm_invoke_native_array_stub
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
       26: JIT_execute_method_default(void*, _jmethodID*, jvalue*,
jvalue*) (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:199)
       27: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*)
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/em/src/DrlEMImpl.cpp:509)
       28: ExecuteMethod
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/em/src/em_intf.cpp:43)
       29: vm_execute_java_method_array(_jmethodID*, jvalue*,
jvalue*) (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jit/ini.cpp:51)
       30: call_method_no_ref_result
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:187)
       31: CallVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*,
jvalue*) (/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp:225)
       32: wrapper_proc
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_java_basic.c:102)
       33: thread_start_proc
(/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/thread/src/thread_native_basic.c:713)
       34: start_thread (??:-1)
       35: clone (??:-1)
<end of stack trace>

At the first glance the cause of the failure is the infinte loop in the CFG formed after the
memopt optimization which removed the redundant loop condition.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message