[Gc] Dynamic lib support for GC on MacOSX
Andrew Begel
abegel@eecs.berkeley.edu
Sat, 28 Jun 2003 14:14:47 -0700
Ah you're right. I upgraded to the release of gc 6.2 and my deadlock
has gone away.
However, now I'm getting memory being freed before it's supposed to be.
I have to track this down now (since it doesn't happen under Linux, nor
under OSX with the gc turned off).
Andrew
On Friday, June 27, 2003, at 11:21 PM, Brian Alliet wrote:
> On Friday, June 27, 2003, at 08:53 PM, Andrew Begel wrote:
>
>> #2 0x024667a0 in GC_lock () at linux_threads.c:1948
>
> It appears you aren't using the latest version of the gc
> (linux_threads.c no longer exists in the newest version) Please
> upgrade to version 6.2. Proper Darwin/MacOSX support is in that
> version. If you have any problems with 6.2, please let me know.
>
>> 1. I don't know why sigaction() triggers the dynamic loader, to cause
>> the problem. I've contacted Apple to find out why.
>> 2. I'm sure the sigaction() calls are important to proper operation
>> of GC with threads. Are there any documents that describe how
>> threaded GC uses the signal handlers so I can figure out how to work
>> around the problem? Other signal system calls do not trigger the
>> dynamic loader.
>
> The various signal handling functions call
> dyld_bind_fully_image_containing_address to ensure all the symbols in
> the signal handler are fully bound (to avoid deadlocks). It appears to
> do this (unnecessarily) even if you use DYLD_BIND_AT_LAUNCH.
>
> That being said, none of this should be a problem in the latest
> version. The gc *should* never try acquire the dyld lock while the
> world is stopped.
>
> -Brian
>
> _______________________________________________
> Gc mailing list
> Gc@linux.hpl.hp.com
> https://linux.hpl.hp.com/cgi-bin/mailman/listinfo/gc
>
-----------
Andrew Begel
Ph.D. Candidate
Computer Science Division
University of California, Berkeley