On Mon, Jul 19, 2010 at 7:01 PM, Lars Rune Nøstdal <larsnostdal@gmail.com> wrote:

On Mon, Jul 19, 2010 at 6:37 PM, Christophe Rhodes <csr21@cantab.net> wrote:
Lars Rune Nøstdal <larsnostdal@gmail.com> writes:

> Is anyone looking at
> https://bugs.launchpad.net/sbcl/+bug/492851 ?

I'm not.  If it's a problem for you, can you try following the hint in
the first comment in that report, and let us know if it works?  (If you
can't, let us know how important this problem is for you and maybe
something can be worked out).



I've tried something like http://paste.lisp.org/display/112612 , but now the weak pointers (pointing to nothing) seem to be leaking somewhere instead; memory use is still increasing, but slower.

I've tried using SB-VM::MAP-ALLOCATED-OBJECTS and SB-VM::MAP-REFERENCING-OBJECTS to figure out where things end up, but they do not seem to work or I do not know how to use them.

The above was probably very wrong (:weakness should be :value I think ....), but anyway, this also leaks so perhaps this stuff is related:

(defgeneric blah-2 (x))

(defun test-2 ()
  (defmethod blah-2 ((x t))
    (format t "blah-2: ~A~%" (load-time-value (random 42))))
  (remove-method #'blah-2 (first (sb-mop:generic-function-methods #'blah-2)))

(loop (test-2))

In the `test' case (using EQL-specialization) I think  shared-initialize :after (eql-specializer t &key)  at line 245 in pcl/std-class.lisp stores the EQL-spec. object somewhere(?).

Lars Rune Nøstdal