[drlvm][classloader][tc] Known/proven race conditions markup at class.h:(1781/1782) at instance_allocated
function
------------------------------------------------------------------------------------------------------------------
Key: HARMONY-4071
URL: https://issues.apache.org/jira/browse/HARMONY-4071
Project: Harmony
Issue Type: Bug
Components: DRLVM
Reporter: Ilya Leviev
Known/proven race conditions markup at class.h:(1781/1782) at instance_allocated function
TC report on thread unsafe access that result in race condition that occur during concurrent
execution of instance_allocated function.
As issues related to vm statistic data collection in debug mode I have marked it by special
API for prevention of further alarms on this races.
data-races
1)Write -> Write data-race
Memory write at "class.h":1781 conflicts with a prior memory write at "class.h":1781
2)Write -> Write data-race
Memory write at "class.h":1782 conflicts with a prior memory write at "class.h":1782
Stack Trace:
Context
Function vm_get_gc_thread_local "c_interface.cpp":2414
Function gc_alloc_fast "mutator_alloc.cpp":120
Function struct ManagedObject * struct_Class_to_java_lang_Class(struct Class *) "class.cpp":778
Function unsigned int class_is_subtype(struct Class *,struct Class *) "jit_runtime_support.cpp":3199
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function hythread_suspend_enable "hythread_ext.h":373
Function Java_java_lang_VMMemoryManager_clone "java_lang_vmmemorymanager.cpp":59
Function object_clone "object_generic.cpp":148
Function struct ManagedObject * Class::allocate_instance(void) "class.cpp":486
Function void Class::instance_allocated(unsigned int) "class.h":1780
1st Access
Function gc_alloc_fast "mutator_alloc.cpp":120
Function is_class_initialized "jit_runtime_support.cpp":702
Function struct ManagedObject * struct_Class_to_java_lang_Class(struct Class *) "class.cpp":778
Function unsigned int class_is_subtype(struct Class *,struct Class *) "jit_runtime_support.cpp":3199
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function hythread_suspend_enable "hythread_ext.h":373
Function Java_java_lang_VMMemoryManager_clone "java_lang_vmmemorymanager.cpp":59
Function object_clone "object_generic.cpp":148
Function struct ManagedObject * Class::allocate_instance(void) "class.cpp":486
Function void Class::instance_allocated(unsigned int) "class.h":1781
"1,779" "" " * @param[in] size - a size of an allocated instance*/"
"1,780" "" " void instance_allocated(unsigned size) {"
"1,781" "*" " m_num_allocations++;"
"1,782" "*" " m_num_bytes_allocated += size;"
"1,783" "" " }"
"1,784" "" " "
2nd Access
Function vm_get_gc_thread_local "c_interface.cpp":2414
Function gc_alloc_fast "mutator_alloc.cpp":120
Function struct ManagedObject * struct_Class_to_java_lang_Class(struct Class *) "class.cpp":778
Function unsigned int class_is_subtype(struct Class *,struct Class *) "jit_runtime_support.cpp":3199
Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138
Function hythread_suspend_enable "hythread_ext.h":373
Function Java_java_lang_VMMemoryManager_clone "java_lang_vmmemorymanager.cpp":59
Function object_clone "object_generic.cpp":148
Function struct ManagedObject * Class::allocate_instance(void) "class.cpp":486
Function void Class::instance_allocated(unsigned int) "class.h":1781
"1,779" "" " * @param[in] size - a size of an allocated instance*/"
"1,780" "" " void instance_allocated(unsigned size) {"
"1,781" "*" " m_num_allocations++;"
"1,782" "*" " m_num_bytes_allocated += size;"
"1,783" "" " }"
"1,784" "" " "
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.
|