tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: boehm-gc still has issues

On 2014-01-15 07:56, Greg Troxel wrote:
> lang/mono2 fails on NetBSD 6 i386,

reported here:

> apparently due to bugs in boehm-gc,

Note that lang/mono2 comes with its own copy of boehm-gc -- it doesn't
use devel/boehm-gc.

A patch in PR 48522 can be applied to lang/mono2 to get it to link
against devel/boehm-gc instead of its internal copy of boehm-gc, but it
still fails to build on i386.

> where it doesn't use pthread calls correctly to find the stack:

PR 46147 may or may not be related to PR 48522:

  * amd64 is unaffected by PR 48522
  * amd64 was affected by PR 46147, but only on NetBSD-current for a
    few days (2012-03-02 to 2012-03-08?) until a fix (workaround?) in
    libpthread was committed

Note, however, that the symptoms reported in PR 46147 are identical to
PR 48522.  This makes me wonder if there's a bug in boehm-gc and/or
libpthread that was somehow only tickled on i386 until the changes on
-current went in.

> and discussion about workarounds in mono by turning off boehm-gc:

Note that PR 45828 is the previous incarnation of PR 48522.

Some history:  In May 2012, lang/mono was bumped from 2.10.9 to 3.0.10.
 Apparently some packages still needed an older version of mono, so in
June 2012 lang/mono2 was created at version 2.10.9.

As far as I can tell, lang/mono was affected by PR 45828 up until
lang/mono was bumped to 3.0.10.  Some time between 2.10.9 and 3.0.10
upstream stopped using boehm-gc by default in favor of a home-grown GC
implementation (sgen).  Perhaps this is why lang/mono now builds on i386.

But lang/mono2 still suffers from the same underlying problem.  Because
PR 45828 was closed and refers to lang/mono instead of lang/mono2, I
opened up a new PR (48522) against lang/mono2.

> It would be nice if someone were to fix boehm-gc or knows enough to
> report it upstream.  Upstream's HOMEPAGE did not immediately indicate a
> bug tracker, but the source is now on github and seems active.

Given that identical symptomps appeared briefly on amd64 during some
libpthread churn in NetBSD-current (PR 46147), I wonder if the problem
is actually in NetBSD 6.x libpthread and not boehm-gc.

It'd be interesting to see if lang/mono2 builds on i386 NetBSD-current.
 If so, then I'm inclined to blame libpthread instead of boehm-gc.


Home | Main Index | Thread Index | Old Index