[Gc] Dynamic lib support for GC on MacOSX
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).
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.
> Gc mailing list
Computer Science Division
University of California, Berkeley