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] Closed: (HARMONY-3586) [drlvm][jit][opt] memopt introduces infinte loop in the CFG
Date Mon, 09 Apr 2007 10:11:32 GMT

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


Mime
View raw message