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/30 18:15:15 UTC
[jira] Updated: (HARMONY-4004) [drlvm][jit][tc]Race conditions at
vm\jitrino\src\main\compilationcontext.cpp: 143
[ https://issues.apache.org/jira/browse/HARMONY-4004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-4004:
---------------------------------
Attachment: SourceViewScreenshot-1.jpg
> [drlvm][jit][tc]Race conditions at vm\jitrino\src\main\compilationcontext.cpp: 143
> ----------------------------------------------------------------------------------
>
> Key: HARMONY-4004
> URL: https://issues.apache.org/jira/browse/HARMONY-4004
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Attachments: SourceViewScreenshot-1.jpg
>
>
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of current() function
> if it not affect correctness of execution I will mark it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "compilationcontext.cpp":143 conflicts with a prior memory write at "compilationcontext.cpp":143
> Stack Trace:
> Context
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":794
> Function compile_do_compilation "compile.cpp":774
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":545
> 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":263
> Function class Jitrino::LogStreams & Jitrino::LogStreams::current(class Jitrino::JITInstanceContext *) "compilationcontext.cpp":130
> 1st Access
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":794
> Function compile_do_compilation "compile.cpp":774
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":545
> 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":263
> Function class Jitrino::LogStreams & Jitrino::LogStreams::current(class Jitrino::JITInstanceContext *) "compilationcontext.cpp":143
> "141" "" " if (sp == 0)"
> "142" "" " { // new thread"
> "143" "*" " ++thread_nb;"
> "144" "" " sp = new TlsLogStreams();"
> "145" "" " tlslogstreams.put(sp);"
> "146" "" " }"
> 2nd Access
> Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
> Function void * compile_me(struct Method *) "compile.cpp":794
> Function compile_do_compilation "compile.cpp":774
> Function CompileMethod "em_intf.cpp":49
> Function enum JIT_Result DrlEMImpl::compileMethod(struct Method *) "drlemimpl.cpp":545
> 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":263
> Function class Jitrino::LogStreams & Jitrino::LogStreams::current(class Jitrino::JITInstanceContext *) "compilationcontext.cpp":143
> "141" "" " if (sp == 0)"
> "142" "" " { // new thread"
> "143" "*" " ++thread_nb;"
> "144" "" " sp = new TlsLogStreams();"
> "145" "" " tlslogstreams.put(sp);"
> "146" "" " }"
> See also Source View screenshot.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.