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-3947) [drlvm][object] Known/proven race conditions markup at vm_arrays.cpp":414 at increment_array_copy_counter()
Date Wed, 23 May 2007 13:44:16 GMT
[drlvm][object] Known/proven race conditions markup at vm_arrays.cpp":414 at increment_array_copy_counter()
-----------------------------------------------------------------------------------------------------------

                 Key: HARMONY-3947
                 URL: https://issues.apache.org/jira/browse/HARMONY-3947
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Ilya Leviev


TC report on thread unsafe access that result in race condition that occur during concurrent
execution of increment_array_copy_counter functions.

As issues related to vm statistic data collection in debug mode and it not affect correctness
of execution I mark it by special API for prevention of further alarms on this race.

Write -> Write data-race
Memory write at "vm_arrays.cpp":414 conflicts with a prior memory write at "vm_arrays.cpp":414


Stack Trace: 

Context
	Function gc_alloc_fast "gc_for_vm.cpp":178
	Function vm_get_gc_thread_local "c_interface.cpp":2334
	Function void * vm_new_vector_or_null_using_vtable_and_thread_pointer(int,unsigned int,void
*) "vm_arrays.cpp":251
	Function rth_aastore "jit_runtime_support.cpp":499
	Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":370
	Function Java_java_lang_VMMemoryManager_arrayCopy "java_lang_vmmemorymanager.cpp":48
	Function array_copy_jni "jni_utils.cpp":637
	Function enum ArrayCopyResult array_copy(struct ManagedObject *,int,struct ManagedObject
*,int,int) "vm_arrays.cpp":463
	Function increment_array_copy_counter "vm_arrays.cpp":413


1st Access
	Function hythread_self "hythread.h":465
	Function int Jitrino::Jet::rt_h_i32_2_u16(int) "arith_rt.cpp":264
	Function vm_get_gc_thread_local "c_interface.cpp":2334
	Function is_class_initialized "jit_runtime_support.cpp":702
	Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":370
	Function Java_java_lang_VMMemoryManager_arrayCopy "java_lang_vmmemorymanager.cpp":48
	Function array_copy_jni "jni_utils.cpp":637
	Function enum ArrayCopyResult array_copy(struct ManagedObject *,int,struct ManagedObject
*,int,int) "vm_arrays.cpp":463
	Function increment_array_copy_counter "vm_arrays.cpp":414

	"411"	""	" #ifdef VM_STATS"
	"412"	""	" static void increment_array_copy_counter(uint64 &counter)"
	"413"	""	" {"
	"414"	"*"	"     counter ++;"
	"415"	""	" }"
	"416"	""	" #endif // VM_STATS"



2nd Access
	Function gc_alloc_fast "gc_for_vm.cpp":178
	Function vm_get_gc_thread_local "c_interface.cpp":2334
	Function void * vm_new_vector_or_null_using_vtable_and_thread_pointer(int,unsigned int,void
*) "vm_arrays.cpp":251
	Function rth_aastore "jit_runtime_support.cpp":499
	Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
	Function hythread_suspend_enable "hythread_ext.h":370
	Function Java_java_lang_VMMemoryManager_arrayCopy "java_lang_vmmemorymanager.cpp":48
	Function array_copy_jni "jni_utils.cpp":637
	Function enum ArrayCopyResult array_copy(struct ManagedObject *,int,struct ManagedObject
*,int,int) "vm_arrays.cpp":463
	Function increment_array_copy_counter "vm_arrays.cpp":414


	"411"	""	" #ifdef VM_STATS"
	"412"	""	" static void increment_array_copy_counter(uint64 &counter)"
	"413"	""	" {"
	"414"	"*"	"     counter ++;"
	"415"	""	" }"
	"416"	""	" #endif // VM_STATS"

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.


Mime
View raw message