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

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


Hi Vitaly,

Mon, 23 Jul 2012 21:00:06 +0300 Vitaly Magerya <vmagerya at gmail.com>:
> 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/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

> 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? : https://github.com/ivmai/bdwgc/commit/1a5caf2

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

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

Regards,
Ivan

> _______________________________________________
> Gc mailing list
> Gc at linux.hpl.hp.com
> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> 



More information about the Gc mailing list