You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ilya Leviev (JIRA)" <ji...@apache.org> on 2007/05/07 11:38:15 UTC

[jira] Updated: (HARMONY-3728) [drlvm][jit] Race condition at function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":662

     [ https://issues.apache.org/jira/browse/HARMONY-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ilya Leviev updated HARMONY-3728:
---------------------------------

    Attachment: HARMONY-3728_add_markup_update.patch

Patch updated as header file name have changed from port_nonatomic.h to port_threadunsafe.h

> [drlvm][jit] Race condition at function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":662
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3728
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3728
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Ilya Leviev
>            Priority: Minor
>         Attachments: HARMONY-3728_add_markup.patch, HARMONY-3728_add_markup_update.patch
>
>
> TC reports about next race condition.
> As it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> DEPENDENS: The patch may be applied only after committing patch for JIRA HARMONY-3537 which contains API with markup functions.
> Here is stack traces of  the  issue.
> Write -> Write data-race
> Memory write at "compile.cpp":662 conflicts with a prior memory write at "compile.cpp":662
>  
> Context
>           Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
>           Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
>           Function vm_invoke_native_array_stub "ini_ia32.cpp":76
>           Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
>           Function void * compile_me(struct Method *) "compile.cpp":790
>           Function compile_do_compilation "compile.cpp":770
>           Function CompileMethod "em_intf.cpp":49
>           Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":540
>           Function vm_compile_method "c_interface.cpp":2492
>           Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":622
>  
> 1st Access
>           Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
>           Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
>           Function vm_invoke_native_array_stub "ini_ia32.cpp":76
>           Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
>           Function void * compile_me(struct Method *) "compile.cpp":790
>           Function compile_do_compilation "compile.cpp":770
>           Function CompileMethod "em_intf.cpp":49
>           Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":540
>           Function vm_compile_method "c_interface.cpp":2492
>           Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":662
>  
> 2nd Access
>           Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *) "drlemimpl.cpp":509
>           Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199
>           Function vm_invoke_native_array_stub "ini_ia32.cpp":76
>           Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
>           Function void * compile_me(struct Method *) "compile.cpp":790
>           Function compile_do_compilation "compile.cpp":770
>           Function CompileMethod "em_intf.cpp":49
>           Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":540
>           Function vm_compile_method "c_interface.cpp":2492
>           Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":662
>  
>  
>  
> "0x67FA7"     "657"  ""       "     JIT_Result res = jit->compile_method_with_params(&ch, method, flags);"
> ""                 "658"  ""       " "
> "0x67FCA"     "659"  ""       "     TRACE(""compile_do_compilation_jit(): returned from jit->compile_method_with_params() for method "" << method );"
> ""                 "660"  ""       " "
> ""                 "661"  ""       "     // Convertion from microseconds to milliseconds"
> "0x68048"      "662"  "*"      "     vm_env->total_compilation_time += ((apr_time_now() - start)/1000);"
> ""                 "663"  ""       " "
>  
>  

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