harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Leviev (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-3857) [drlvm][vmcore][util] Known/proven race conditions markup at \vm\vmcore\src\util\mem_alloc.cpp (L:231)
Date Mon, 14 May 2007 16:23:16 GMT
[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


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.


Mime
View raw message