You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alex Astapchuk (JIRA)" <ji...@apache.org> on 2007/03/14 11:14:09 UTC

[jira] Commented: (HARMONY-3371) [drlvm][jit] Race condition at vm\jitrino\src\jet\compiler.cpp

    [ https://issues.apache.org/jira/browse/HARMONY-3371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12480713 ] 

Alex Astapchuk commented on HARMONY-3371:
-----------------------------------------

This particular notice is false alarm. 

initProfilingData(unsinged* ) is only invoked from Compiler::compile() 
to write into Compiler::compile()'s *local* variable.

There is no race here.


> [drlvm][jit] Race condition at vm\jitrino\src\jet\compiler.cpp
> --------------------------------------------------------------
>
>                 Key: HARMONY-3371
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3371
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Ilya Leviev
>
> There are thread unsafe access that result in race condition that occur during concurrent execution of enum JIT_Result Jitrino::Jet::Compiler::compile function. 
> Write -> Write data-race	
> Memory write at "compiler.cpp":119 conflicts with a prior memory write at "compiler.cpp":119 (L119: initProfilingData(&compile_flags))
> Build configuration - release
> Stack Traces: 
> Context
> 	Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *)
> 	Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *)
> 	Function apr_strtok
> 	Function apr_strtok
> 	Function void (__cdecl*lil_npc_to_fp(void *))(void)
> 	Function vm_compile_method
> 	Function struct ClassLoader * ClassLoader::LookupLoader(struct ManagedObject *)
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":274
> 	Function enum JIT_Result Jitrino::Jet::compile_with_params(void *,void *,struct Method *,struct OpenMethodExecutionParams) "jet.cpp":523
> 	Function enum JIT_Result Jitrino::Jet::Compiler::compile(void *,struct Method *,struct OpenMethodExecutionParams const &) "compiler.cpp":89
> 1st Access
> 	Function bool exn_raised(void)
> 	Function apr_strtok
> 	Function apr_strtok
> 	Function apr_strtok
> 	Function void (__cdecl*lil_npc_to_fp(void *))(void)
> 	Function vm_compile_method
> 	Function struct ClassLoader * ClassLoader::LookupLoader(struct ManagedObject *)
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":274
> 	Function enum JIT_Result Jitrino::Jet::compile_with_params(void *,void *,struct Method *,struct OpenMethodExecutionParams) "jet.cpp":523
> 	Function enum JIT_Result Jitrino::Jet::Compiler::compile(void *,struct Method *,struct OpenMethodExecutionParams const &) "compiler.cpp":119
> 2nd Access
> 	Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *)
> 	Function void vm_execute_java_method_array(struct _jmethodID *,union jvalue *,union jvalue *)
> 	Function apr_strtok
> 	Function apr_strtok
> 	Function void (__cdecl*lil_npc_to_fp(void *))(void)
> 	Function vm_compile_method
> 	Function struct ClassLoader * ClassLoader::LookupLoader(struct ManagedObject *)
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":274
> 	Function enum JIT_Result Jitrino::Jet::compile_with_params(void *,void *,struct Method *,struct OpenMethodExecutionParams) "jet.cpp":523
> 	Function enum JIT_Result Jitrino::Jet::Compiler::compile(void *,struct Method *,struct OpenMethodExecutionParams const &) "compiler.cpp":119

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