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/14 18:25:16 UTC
[jira] Updated: (HARMONY-3857) [drlvm][vmcore][util] Known/proven
race conditions markup at \vm\vmcore\src\util\mem_alloc.cpp (L:231)
[ https://issues.apache.org/jira/browse/HARMONY-3857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Leviev updated HARMONY-3857:
---------------------------------
Attachment: HARMONY-3857_add_markup.patch
> [drlvm][vmcore][util] Known/proven race conditions markup at \vm\vmcore\src\util\mem_alloc.cpp (L:231)
> ------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-3857
> URL: https://issues.apache.org/jira/browse/HARMONY-3857
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Reporter: Ilya Leviev
> Attachments: HARMONY-3857_add_markup.patch
>
>
> There are thread unsafe access that result in race condition that occur during concurrent execution of alloc function
> If it not affect correctness of execution I have marked it by special API for prevention of further alarms on this race.
> Write -> Write data-race
> Memory write at "mem_alloc.cpp":231 conflicts with a prior memory write at "mem_alloc.cpp":231
> Stack Traces:
> Context
> 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":754
> Function compile_prepare_native_method "compile.cpp":609
> Function compile_create_jni_stub "compile.cpp":585
> Function void * compile_create_lil_jni_stub(struct Method *,void *,struct LilCodeStub * (__cdecl*)(struct LilCodeStub *,struct Method *)) "compile.cpp":517
> Function void * LilCodeGenerator::compile(struct LilCodeStub *,class PoolManager *) "lil_code_generator.cpp":61
> Function void * LilCodeGeneratorIa32::compile_main(struct LilCodeStub *,unsigned int *,class PoolManager *) "lil_code_generator_ia32.cpp":1469
> Function void * LilCodeGenerator::allocate_memory(unsigned int,class PoolManager *) "lil_code_generator.cpp":77
> Function void * PoolManager::alloc(unsigned int,unsigned int,enum Code_Allocation_ActionEnum) "mem_alloc.cpp":154
> 1st Access
> Function enum JIT_Result compile_do_compilation_jit(struct Method *,class JIT *) "compile.cpp":657
> 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":275
> Function enum JIT_Result Jitrino::Jet::compile_with_params(void *,void *,struct Method *,struct OpenMethodExecutionParams) "jet.cpp":524
> Function enum JIT_Result Jitrino::Jet::Compiler::compile(void *,struct Method *,struct OpenMethodExecutionParams const &) "compiler.cpp":444
> Function method_allocate_code_block "c_interface.cpp":312
> Function void * Method::allocate_code_block_mt(unsigned int,unsigned int,class JIT *,unsigned int,int,enum Code_Allocation_ActionEnum) "method.cpp":295
> Function void * Class::code_alloc(unsigned int,unsigned int,enum Code_Allocation_ActionEnum) "class.cpp":1204
> Function void * ClassLoader::CodeAlloc(unsigned int,unsigned int,enum Code_Allocation_ActionEnum) "classloader.h":250
> Function void * PoolManager::alloc(unsigned int,unsigned int,enum Code_Allocation_ActionEnum) "mem_alloc.cpp":231
> 2nd Access
> 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":754
> Function compile_prepare_native_method "compile.cpp":609
> Function compile_create_jni_stub "compile.cpp":585
> Function void * compile_create_lil_jni_stub(struct Method *,void *,struct LilCodeStub * (__cdecl*)(struct LilCodeStub *,struct Method *)) "compile.cpp":517
> Function void * LilCodeGenerator::compile(struct LilCodeStub *,class PoolManager *) "lil_code_generator.cpp":61
> Function void * LilCodeGeneratorIa32::compile_main(struct LilCodeStub *,unsigned int *,class PoolManager *) "lil_code_generator_ia32.cpp":1469
> Function void * LilCodeGenerator::allocate_memory(unsigned int,class PoolManager *) "lil_code_generator.cpp":77
> Function void * PoolManager::alloc(unsigned int,unsigned int,enum Code_Allocation_ActionEnum) "mem_alloc.cpp":231
> "" "229" "" " "
> "" "230" "" " #ifdef VM_STATS"
> "0xF957D" "231" "*" " VM_Statistics::get_vm_stats().total_memory_used += size;"
> "" "232" "" " #endif"
> "" "233" "" " "
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.