[Gc] GC_enable_incremental() fails on FreeBSD

Vitaly Magerya vmagerya at gmail.com
Tue Jul 24 10:57:46 PDT 2012


Ivan Maidanski wrote:
>> [...]
>> ./.libs/libgc.so: undefined reference to `GC_get_suspend_signal'
>
> Thank you for reporting.
> Fixed (in master branch), see the patch:
> https://github.com/ivmai/bdwgc/commit/092f7dff3f7a0fafcc02ecb4a67e673f90aa7354

This works.

>> 2) The problem that Alex reported (crash in GC_FreeBSDGetDataStart)
>>    was fixed in gc7_2alpha4-66-g1a5caf2.
>
> Ok. The patch was applied in 2010, right?

Yup.

>> 3) The crash in GC_typed_mark_proc is present in both 7.2c and
>>    in the latest sources. It occurs with and without
>>    -DDONT_ADD_BYTE_AT_END; --enable-threads=posix is the only
>>    condition.
>
> Updated FIXME item: https://github.com/ivmai/bdwgc/commit/6cc83047c694e1935552ff3ceff73c79598e5115
>
> Is there any fix proposed?

Not that I know of.

> So, this commit (https://github.com/ivmai/bdwgc/commit/0c14ea4)
> just hides (makes harder to reproduce) the problem.
> I don't like the idea to apply this patch to 7.2 (the patch is not a bug-fix one).
> It's better to discover the bug instead of hiding it.

Yes, but seeing that configure script contains message "FreeBSD
does not yet fully support threads with Boehm GC." since forever,
I don't hold my breath for a quick fix.

> Could you please check which part of the commit (enabling
> thread-local allocation or parallel marking) influences on the
> frequency of crashes?

Doesn't seem to be a difference between either of them, or both
at once.


More information about the Gc mailing list