Re: [Gc] Don't mark for dead thread(s)

Ivan Maidanski ivmai at mail.ru
Fri Apr 16 01:49:38 PDT 2010


Fri, 16 Apr 2010 16:43:04 +0900 NIIBE Yutaka <gniibe at fsij.org>:

> I encounter a bug on ia64 with GNU/Linux, when I tried
> DONT_ADD_BYTE_AT_END enabled.
> 
> The situation is that 'gctest' program fails in the for loop
> of GC_set_fl_marks (with a stale pointer).
> 
> I found that the owner of the normal_freelist was a thread of
> tiny_reverse_test, just finished, but not have joined yet.
> GC_destroy_thread_local called already, but GC_delete_thread not yet.
> 
> Here is my fix.  All tests go well with this fix.
> 
> I don't know the reason why DONT_ADD_BYTE_AT_END reveals this bug
> though.

Yes, it's a bug. Fixed (along with similar cases in GC_check_tls and for Win32-pthreads).

Bye.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bdwgc-ivmai-242.diff
Type: application/octet-stream
Size: 2240 bytes
Desc: not available
Url : http://napali.hpl.hp.com/pipermail/gc/attachments/20100416/29c1a3b3/bdwgc-ivmai-242.obj


More information about the Gc mailing list