guile-devel
[Top][All Lists]
Advanced

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

Re: the new gc asserts in master


From: Ludovic Courtès
Subject: Re: the new gc asserts in master
Date: Wed, 27 Aug 2008 09:43:57 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Hi,

Han-Wen Nienhuys <address@hidden> writes:

> I am pushing a fix for this to master.

Will you care to post and discuss your patches before pushing them?

This is all the more important that the patches don't seem to have any
relation with the problem at hand:

f85ea2a85fcdd051f432964806f044c0301d0945 Merge branch 'master' of 
git://git.sv.gnu.org/guile into nits
487b9dec2ea6b88ddbc6fbd17f445ddb197aebc5 Only sanity check numbers if 
SCM_DEBUG_CELL_ACCESSES is unset.
80237dcc7783b4d94ecf1d987deb9306d61735a0 Set SRCPROP{PLIST,COPY} through a 
macro, so SCM_DEBUG_CELL_ACCESSES compiles.

Can you please describe them and add ChangeLog entries (yes, we still
use that)?

In addition, they don't fix anything on x86-64:

  $ ./pre-inst-guile
  lt-guile: gc.c:610: scm_i_gc: Assertion `scm_i_gc_sweep_stats.collected + 
scm_cells_allocated == scm_i_gc_sweep_stats.swept' failed.
  Aborted (core dumped)

Do you think you can come up with a fix within the next few days?
Otherwise, I'm inclined to revert the offending commits in `master' and
wait for a signal from you (i.e., a patch or merge request posted to the
mailing list, *not* a commit on `master').  It would make it easier for
us to play with `master' in the meantime.

Besides, avoid pushing from an non-up-to-date repo: this yields to
automatic merges like the one above, which is annoying as it makes
history harder to follow.  Better pull first, then merge your changes,
then push.

>> even the lazy smob case I wrote about here:
>> 
>>     http://thread.gmane.org/gmane.lisp.guile.user/6372
>
> I would classify the use of mark bits outside of the mark phase as outside
> of the defined API.  If you want to have weak pointer semantics, use
> a weak hashtable, or implement reference counting on the C side.

That's a reasonable argument, but it's something we should not change
without discussing it first.  For instance, it may be important to study
why Guile-GNOME had to resort to this, and how it could avoid it,
instead of just gratuitously breaking it.

Thanks,
Ludo'.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]