[Top][All Lists]

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

the new gc asserts in master

From: Andy Wingo
Subject: the new gc asserts in master
Date: Tue, 26 Aug 2008 13:12:18 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)


I just merged master to guile-vm, but I'm not sure if I really wanted to
do that now. Normal test suites are failing:

    lt-guile: gc.c:604: scm_i_gc: Assertion `scm_cells_allocated == 
scm_i_marked_count ()' failed.
    /home/wingo/src/guile/vm/test-suite/standalone/test-use-srfi: line 27: 
29507 Aborted                 guile -q --use-srfi=1,10 > /dev/null  <<EOF
    (if (and (defined? 'partition)
             (defined? 'define-reader-ctor))
        (exit 0)   ;; good
        (exit 1))  ;; bad

    guile --use-srfi=1,10 fails to run
    FAIL: test-use-srfi

This is on a core 2 duo, in 32-bit mode, configured as:

    CFLAGS="-g -O2" ./configure --with-threads --enable-maintainer-mode 

So it seems that the new gc "cleanups" don't want you to touch mark bits
outside the mark phase. This is incompatible with other uses inside
guile itself, e.g. the SCM_DEBUG_CELL_ACCESSES == 1 case in inline.h, or
even the lazy smob case I wrote about here:

There are more cases, rgrep for SCM_SET_GC_MARK in libguile/*.[ch].

I'm going to commit an #if 0 around those asserts in the vm branch,
because I don't have the brain power to deal with it. (It is irritating
that I have to even write this mail.) Certainly if the near-term choice
is between inaccurate statistics and calls to abort(), I know which
choice I prefer...


reply via email to

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