Re[4]: [Gc] GC_enable_incremental() fails on FreeBSD

Ivan Maidanski ivmai at
Tue Jul 24 03:20:49 PDT 2012

Hi Vitaly,

Mon, 23 Jul 2012 21:00:06 +0300 Vitaly Magerya <vmagerya at>:
> Previously I wrote:
> >> There have not been many
> >> commits. Could you please point me to the commit making crashes less
> >> frequent?
> >
> > I'll try to bisect the problem, but it'll take a while. I'll report my
> > findings in a week or so.
> So, after some testing I found that:
> 1) Latest GC fails to build testing binaries when configured
>    with --disable-threads; here's what it says:
> [...]
> ./.libs/ undefined reference to `GC_get_suspend_signal'

Thank you for reporting.
Fixed (in master branch), see the patch:

> 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? :

> 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:

Is there any fix proposed?

> 4) Before gc7_2alpha6-407-g0c14ea4 gctest crashed once in a few
>    dozen attempts; after it -- once in a few hundred, sometimes
>    once in more than a thousand.
> Note that commit gc7_2alpha6-407-g0c14ea4 is where you enabled
> parallel mark and thread local alloc by default for FreeBSD. I
> can confirm that enabling those in 7.2c also reduces the frequency
> of crashes, so I would recommend you to do that if there will
> be another 7.2 release.

So, this commit ( 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.
Could you please check which part of the commit (enabling thread-local allocation or parallel marking) influences on the frequency of crashes?


> _______________________________________________
> Gc mailing list
> Gc at

More information about the Gc mailing list