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/23 23:08:16 UTC
[jira] Resolved: (HARMONY-3947) [drlvm][object] Known/proven race
conditions markup at vm_arrays.cpp":414 at increment_array_copy_counter()
[ https://issues.apache.org/jira/browse/HARMONY-3947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gregory Shimansky resolved HARMONY-3947.
----------------------------------------
Resolution: Fixed
Patch applied at 541077. Please check that it was applied as expected.
> [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
> Assigned To: Gregory Shimansky
> Attachments: HARMONY-3947_add_markup.patch, SourceViewScreenshot-1.jpg
>
>
> 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.