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-3001) [drlvm][thread] Race condition at vm\thread\src\thread_native_thin_monitor.c
Date Sat, 13 Jan 2007 19:24:27 GMT
[drlvm][thread] Race condition at vm\thread\src\thread_native_thin_monitor.c 
-----------------------------------------------------------------------------

                 Key: HARMONY-3001
                 URL: https://issues.apache.org/jira/browse/HARMONY-3001
             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  set_fat_lock_id and hythread_thin_monitor_try_enter functions.


Write -> Read data-race: 
Memory read at "thread_native_thin_monitor.c":254 conflicts with a prior memory write at "thread_native_thin_monitor.c":83

Stack Traces:  

Context
	Function ExecuteMethod "em_intf.cpp":43
	Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *)
"drlemimpl.cpp":514
	Function JIT_execute_method "interp_exports.cpp":162
	Function void interpreter_execute_method(struct Method *,union jvalue *,union jvalue *) "interpreter.cpp":3184
	Function void interpreter(struct StackFrame &) "interpreter.cpp":2828
	Function Opcode_MONITORENTER "interpreter.cpp":2256
	Function void vm_monitor_enter_wrapper(struct ManagedObject *) "interp_imports.cpp":29
	Function vm_monitor_enter_default "mon_enter_exit.cpp":117
	Function jthread_monitor_enter "thread_java_monitors.c":84
	Function hythread_thin_monitor_try_enter "thread_native_thin_monitor.c":240

Definition
	Function EntryPoint "dllcrt0.c":323
	Function hythread_attach "thread_native_basic.c":241
	Function hythread_tls_alloc "thread_native_tls.c":57
	Function hythread_monitor_exit "thread_native_fat_monitor.c":155
	Function hythread_monitor_exit "thread_native_fat_monitor.c":155
	Function JNI_CreateJavaVM "jni.cpp":493
	Function int vm_init1(struct JavaVM_Internal *,struct JavaVMInitArgs *) "vm_init.cpp":664
	Function gc_init "init.cpp":281
	Function void init_mem(void) "init.cpp":270

1st Access
	Function interpreterInvoke "interpreter.cpp":3381
	Function void interpreter(struct StackFrame &) "interpreter.cpp":2886
	Function Opcode_INVOKESTATIC "interpreter.cpp":2093
	Function interpreterInvokeStatic "interpreter.cpp":3266
	Function void interpreterInvokeStaticNative(struct StackFrame &,struct StackFrame &,struct
Method *) "interp_native_ia32.cpp":424
	Function invokeJNI "interp_native_ia32.cpp":49
	Function Java_java_lang_VMThreadManager_wait "java_lang_vmthreadmanager.cpp":202
	Function jthread_monitor_timed_wait "thread_java_monitors.c":310
	Function inflate_lock "thread_native_thin_monitor.c":601
	Function set_fat_lock_id "thread_native_thin_monitor.c":83

2nd Access
	Function ExecuteMethod "em_intf.cpp":43
	Function void DrlEMImpl::executeMethod(struct _jmethodID *,union jvalue *,union jvalue *)
"drlemimpl.cpp":514
	Function JIT_execute_method "interp_exports.cpp":162
	Function void interpreter_execute_method(struct Method *,union jvalue *,union jvalue *) "interpreter.cpp":3184
	Function void interpreter(struct StackFrame &) "interpreter.cpp":2828
	Function Opcode_MONITORENTER "interpreter.cpp":2256
	Function void vm_monitor_enter_wrapper(struct ManagedObject *) "interp_imports.cpp":29
	Function vm_monitor_enter_default "mon_enter_exit.cpp":117
	Function jthread_monitor_enter "thread_java_monitors.c":84
	Function hythread_thin_monitor_try_enter "thread_native_thi


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message