You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org> on 2007/04/09 12:11:32 UTC
[jira] Closed: (HARMONY-3586) [drlvm][jit][opt] memopt introduces
infinte loop in the CFG
[ https://issues.apache.org/jira/browse/HARMONY-3586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Ozhdikhin closed HARMONY-3586.
------------------------------------
Resolution: Duplicate
This issue is the duplicate of HARMONY-3519.
> [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.