Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 86090 invoked from network); 14 May 2007 16:45:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 May 2007 16:45:38 -0000 Received: (qmail 51964 invoked by uid 500); 14 May 2007 16:45:44 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 51914 invoked by uid 500); 14 May 2007 16:45:44 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 51890 invoked by uid 99); 14 May 2007 16:45:43 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 May 2007 09:45:43 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 May 2007 09:45:36 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 505BF714043 for ; Mon, 14 May 2007 09:45:16 -0700 (PDT) Message-ID: <27564591.1179161116325.JavaMail.jira@brutus> Date: Mon, 14 May 2007 09:45:16 -0700 (PDT) From: "Ilya Leviev (JIRA)" To: commits@harmony.apache.org Subject: [jira] Created: (HARMONY-3858) [drlvm][jit] Known/proven race conditions markup at \vm\vmcore\src\jit\jit_runtime_support.cpp(L367, L369) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [drlvm][jit] Known/proven race conditions markup at \vm\vmcore\src\jit\jit_runtime_support.cpp(L367, L369) ---------------------------------------------------------------------------------------------------------- Key: HARMONY-3858 URL: https://issues.apache.org/jira/browse/HARMONY-3858 Project: Harmony Issue Type: Bug Components: DRLVM Reporter: Ilya Leviev Priority: Minor Attachments: HARMONY-3858_add_markup.patch There are thread unsafe access that result in race condition that occur during concurrent execution of rth_update_checkcast_stats 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 "jit_runtime_support.cpp":367 conflicts with a prior memory write at "jit_runtime_support.cpp":367 Stack Traces1: Context Function vm_invoke_native_array_stub "ini_ia32.cpp":76 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function hythread_thin_monitor_try_enter "thread_native_thin_monitor.c":341 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function jthread_monitor_enter "thread_java_monitors.c":157 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function rth_update_checkcast_stats "jit_runtime_support.cpp":366 1st Access Function void JIT_execute_method_default(void *,struct _jmethodID *,union jvalue *,union jvalue *) "ini_ia32.cpp":199 Function vm_invoke_native_array_stub "ini_ia32.cpp":76 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function hythread_thin_monitor_try_enter "thread_native_thin_monitor.c":341 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function rth_update_checkcast_stats "jit_runtime_support.cpp":367 2nd Access Function vm_invoke_native_array_stub "ini_ia32.cpp":76 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function hythread_thin_monitor_try_enter "thread_native_thin_monitor.c":341 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function jthread_monitor_enter "thread_java_monitors.c":157 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function rth_update_checkcast_stats "jit_runtime_support.cpp":367 "" "365" "" " static void rth_update_checkcast_stats(ManagedObject* o, Class* super)" "0x890F0" "366" "" " {" "0x89107" "367" "*" " VM_Statistics::get_vm_stats().num_checkcast ++;" "0x8912A" "368" "" " if (o == (ManagedObject*)VM_Global_State::loader_env->managed_null) {" "0x8913B" "369" "*" " VM_Statistics::get_vm_stats().num_checkcast_null++;" "0x8915E" "370" "" " } else {" "0x89160" "371" "" " if (o->vt()->clss == super)" Write -> Write data-race Memory write at "jit_runtime_support.cpp":369 conflicts with a prior memory write at "jit_runtime_support.cpp":369 Stack Traces 2: Context Function m2n_free_local_handles "m2n_ia32.cpp":268 Function vm_get_gc_thread_local "c_interface.cpp":2334 Function gc_alloc_fast "gc_for_vm.cpp":178 Function vm_get_gc_thread_local "c_interface.cpp":2334 Function gc_alloc_fast "gc_for_vm.cpp":178 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_disable "hythread_ext.h":421 Function m2n_pop_local_handles "m2n_ia32.cpp":257 Function rth_update_checkcast_stats "jit_runtime_support.cpp":366 1st Access Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function hythread_self "hythread.h":465 Function class VM_thread * get_thread_ptr_stub(void) "thread_manager.cpp":138 Function m2n_free_local_handles "m2n_ia32.cpp":268 Function hythread_self "hythread.h":465 Function vm_get_gc_thread_local "c_interface.cpp":2334 Function gc_alloc_fast "gc_for_vm.cpp":178 Function rth_get_interface_vtable "jit_runtime_support.cpp":651 Function hythread_self "hythread.h":465 Function rth_update_checkcast_stats "jit_runtime_support.cpp":369 2nd Access Function m2n_free_local_handles "m2n_ia32.cpp":268 Function vm_get_gc_thread_local "c_interface.cpp":2334 Function gc_alloc_fast "gc_for_vm.cpp":178 Function vm_get_gc_thread_local "c_interface.cpp":2334 Function gc_alloc_fast "gc_for_vm.cpp":178 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_disable "hythread_ext.h":421 Function m2n_pop_local_handles "m2n_ia32.cpp":257 Function rth_update_checkcast_stats "jit_runtime_support.cpp":369 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.