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/06 13:30:33 UTC

[jira] Created: (HARMONY-3586) [drlvm][jit][opt] memopt introduces infinte loop in the CFG

[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.


[jira] Closed: (HARMONY-3586) [drlvm][jit][opt] memopt introduces infinte loop in the CFG

Posted by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org>.
     [ 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.