You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Li-Gang Wang (JIRA)" <ji...@apache.org> on 2007/06/25 09:02:36 UTC

[jira] Commented: (HARMONY-4261) [drlvm][finalizer] Race conditions at "finalizer_thread.cpp":(68-77) at set_fin_thread_attached() and clear_fin_thread_attached() function on reliability test ClassReflectionTest

    [ https://issues.apache.org/jira/browse/HARMONY-4261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12507785 ] 

Li-Gang Wang commented on HARMONY-4261:
---------------------------------------

Ilia, thanks for your efforts in race condition checking work.

For this issue, set_fin_thread_attached() and clear_fin_thread_attached() can not be executed at the same time actually. So there is no race condition here.

> [drlvm][finalizer] Race conditions at "finalizer_thread.cpp":(68-77) at set_fin_thread_attached() and clear_fin_thread_attached() function on reliability test ClassReflectionTest
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4261
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4261
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Ilya Leviev
>            Assignee: Xiao-Feng Li
>         Attachments: SourceViewScreenshot-1.jpg
>
>
> Race conditions at "finalizer_thread.cpp":(68-77) at set_fin_thread_attached() and clear_fin_thread_attached() functions while reliability test ClassReflectionTest execution
> TC report on thread unsafe access that result in race condition that occur during concurrent execution of set_fin_thread_attached() and clear_fin_thread_attached() function
> if it low priority issue I will mark it as expected race condition. 
> Write -> Write data-race Memory write at "finalizer_thread.cpp":77 conflicts with a prior memory write at "finalizer_thread.cpp":68
> Stack Trace: 
> Context
> 	Function EntryPoint "dllcrt0.c":323
> 	Function EntryPoint "crtexe.c":202
> 	Function EntryPoint "crtexe.c":398
> 	Function main "cmain.c":146
> 	Function gpProtectedMain "main.c":391
> 	Function invocation "main.c":668
> 	Function JNI_CreateJavaVM "jni.cpp":531
> 	Function finalizer_threads_init "finalizer_thread.cpp":125
> 	Function clear_fin_thread_attached "finalizer_thread.cpp":77
> Definition
> 	Function EntryPoint "crtexe.c":398
> 	Function main "cmain.c":146
> 	Function gpProtectedMain "main.c":391
> 	Function invocation "main.c":668
> 	Function JNI_CreateJavaVM "jni.cpp":531
> 	Function finalizer_threads_init "finalizer_thread.cpp":96
> 	Function malloc "dbgheap.c":139
> 	Function nh_malloc_dbg "dbgheap.c":260
> 	Function heap_alloc_dbg "dbgheap.c":397
> 	Function heap_alloc_base "malloc.c":211
> 1st Access
> 	Function finalizer_threads_init "finalizer_thread.cpp":126
> 	Function hythread_create "thread_native_basic.c":165
> 	Function hythread_create_with_group "thread_native_basic.c":136
> 	Function os_thread_create "os_thread.c":37
> 	Function beginthreadex "threadex.c":145
> 	Function EntryPoint "dllcrt0.c":323
> 	Function threadstartex "threadex.c":241
> 	Function thread_start_proc "thread_native_basic.c":711
> 	Function finalizer_thread_func "finalizer_thread.cpp":228
> 	Function set_fin_thread_attached "finalizer_thread.cpp":68
> 	"67"	""	" static void set_fin_thread_attached(void)"
> 	"68"	"*"	" { fin_thread_info->thread_attached = 1; }"
> 2nd Access
> 	Function EntryPoint "dllcrt0.c":323
> 	Function EntryPoint "crtexe.c":202
> 	Function EntryPoint "crtexe.c":398
> 	Function main "cmain.c":146
> 	Function gpProtectedMain "main.c":391
> 	Function invocation "main.c":668
> 	Function JNI_CreateJavaVM "jni.cpp":531
> 	Function finalizer_threads_init "finalizer_thread.cpp":125
> 	Function clear_fin_thread_attached "finalizer_thread.cpp":77
> 	"76"	""	" static void clear_fin_thread_attached(void)"
> 	"77"	"*"	" { fin_thread_info->thread_attached = 0; }"
> 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.