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-3977) [drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
Date Fri, 25 May 2007 10:12:16 GMT
[drlvm][gc_gen] Race conditions at "gc_for_vm.cpp":300 at gc_clear_mutator_block_flag function
----------------------------------------------------------------------------------------------

                 Key: HARMONY-3977
                 URL: https://issues.apache.org/jira/browse/HARMONY-3977
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Ilya Leviev


TC report on thread unsafe access that result in race condition that occur during concurrent
execution of gc_clear_mutator_block_flag function


if it not affect correctness of execution I will mark it by special API for prevention of
further alarms on this race.


Write -> Write data-race	
Memory write at "gc_for_vm.cpp":300 conflicts with a prior memory write at "gc_for_vm.cpp":300


Stack Trace: 

Context
	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":266
	Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
	Function gc_clear_mutator_block_flag "gc_for_vm.cpp":298



1st Access
	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":266
	Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
	Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300

	"297"	""	" Boolean gc_clear_mutator_block_flag()"
	"298"	""	" {"
	"299"	""	"   Boolean old_flag = mutator_need_block;"
	"300"	"*"	"   mutator_need_block = FALSE;"
	"301"	""	"   return old_flag;"



2nd Access
	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":266
	Function void vm_heavy_finalizer_resume_mutator(void) "finalizer_thread.cpp":318
	Function gc_clear_mutator_block_flag "gc_for_vm.cpp":300


	"297"	""	" Boolean gc_clear_mutator_block_flag()"
	"298"	""	" {"
	"299"	""	"   Boolean old_flag = mutator_need_block;"
	"300"	"*"	"   mutator_need_block = FALSE;"
	"301"	""	"   return old_flag;"



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.


Mime
View raw message