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/06/20 15:21:26 UTC

[jira] Updated: (HARMONY-4249) [drlvm][jit][exception] Race conditions at "lazyexceptionopt.cpp":(87-224) at doLazyExceptionOpt() function

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

Ilya Leviev updated HARMONY-4249:
---------------------------------

    Attachment: SourceViewScreenshot-1.jpg

> [drlvm][jit][exception] Race conditions at "lazyexceptionopt.cpp":(87-224) at doLazyExceptionOpt() function
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4249
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4249
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Ilya Leviev
>         Attachments: SourceViewScreenshot-1.jpg
>
>
> Race conditions at "lazyexceptionopt.cpp":(87-224) at doLazyExceptionOpt() function
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of doLazyExceptionOpt() function
> if it low priority issue  I will mark it as expected race condition.
> 1) Write -> Write data-race     Memory write at "lazyexceptionopt.cpp":87 conflicts with a prior memory write at "lazyexceptionopt.cpp":87
> 2) Write -> Write data-race	Memory write at "lazyexceptionopt.cpp":224 conflicts with a prior memory write at "lazyexceptionopt.cpp":224
> 3) Write -> Write data-race	Memory write at "lazyexceptionopt.cpp":224 conflicts with a prior memory write at "lazyexceptionopt.cpp":87
> 1) Write -> Write data-race        Memory write at "lazyexceptionopt.cpp":87 conflicts with a prior memory write at "lazyexceptionopt.cpp":87
> Stack Trace: 
> Context
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":64
> 1st Access
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":87
> 	""	" "
> 	"87"	""	"     level++;"
> 	"88"	""	"     uint32 opndId = 0;"
> 	"89"	""	"     isArgCheckNull = false;"
> 2nd Access
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":87
> 	""	" "
> 	"87"	""	"     level++;"
> 	"88"	""	"     uint32 opndId = 0;"
> 	"89"	""	"     isArgCheckNull = false;"
> See also Source View screenshots. 
> 2) Write -> Write data-race	Memory write at "lazyexceptionopt.cpp":224 conflicts with a prior memory write at "lazyexceptionopt.cpp":224
> Stack Trace: 
> Context
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":64
> 1st Access
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":224
> 	"222"	""	"     }"
> 	"223"	""	" "
> 	"224"	""	" level--;"
> 2nd Access
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":224
> 	"222"	""	"     }"
> 	"223"	""	" "
> 	"224"	""	" level--;"
> See also Source View screenshots. 
> 3) Write -> Write data-race	Memory write at "lazyexceptionopt.cpp":224 conflicts with a prior memory write at "lazyexceptionopt.cpp":87
> Stack Trace:
> Context
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":64
> 1st Access
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":87
> 	"87"	""	"     level++;"
> 	"88"	""	"     uint32 opndId = 0;"
> 	"89"	""	"     isArgCheckNull = false;"
> 2nd Access
> 	Function vm_compile_method "c_interface.cpp":2572
> 	Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":658
> 	Function enum JIT_Result Dll_JIT::compile_method_with_params(void *,struct Method *,struct OpenMethodExecutionParams) "dll_jit_intf.h":86
> 	Function JIT_compile_method_with_params "drljitinterface.cpp":284
> 	Function bool Jitrino::Jitrino::CompileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":269
> 	Function bool Jitrino::compileMethod(class Jitrino::CompilationContext *) "jitrino.cpp":249
> 	Function void Jitrino::runPipeline(class Jitrino::CompilationContext *) "jitrino.cpp":229
> 	Function void Jitrino::OptPass::run(void) "optpass.cpp":61
> 	Function void Jitrino::LazyExceptionOptPass::_run(class Jitrino::IRManager &) "lazyexceptionopt.cpp":40
> 	Function void Jitrino::LazyExceptionOpt::doLazyExceptionOpt(void) "lazyexceptionopt.cpp":224
> 	"222"	""	"     }"
> 	"223"	""	" "
> 	"224"	""	" level--;"
> See also Source View screenshots. 

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