You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2007/05/22 18:10:16 UTC

[jira] Assigned: (HARMONY-3857) [drlvm][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 ]

Gregory Shimansky reassigned HARMONY-3857:
------------------------------------------

    Assignee: Gregory Shimansky

> [drlvm][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
>         Assigned To: Gregory Shimansky
>            Priority: Minor
>         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.