[CM] GC Called recursively

Woody Douglass wdouglass at carnegierobotics.com
Mon Jul 11 10:18:17 PDT 2022


Ahh, that makes total sense. i had a debug print staqtmenet that looked
like this

```
    s7_pointer let = s7_c_object_let(arg);
    s7_format(s,
            s7_list(s, 4,
                    s7_current_error_port(s),
                    s7_make_string(s, "BEFORE MARK ~A ~A~%"),
                    arg, let));
```

there's a bunch of allocations there -- red herring! ok, i'll stick to
regular fprintf.

Thanks,
Woody

On Mon, 2022-07-11 at 10:14 -0700, bil at ccrma.Stanford.EDU wrote:
> > Are there rules about what can and can't be done in a 'mark'
> > function?
> 
> Sorry about the empty message -- the cancel button is right
> next to the send button in raoundcube -- pessimal UI.
> 
> On the original question -- don't allocate anything in s7 in
> the mark function -- that could trigger a recursive call,
> I think, though I've never tried it.
> 
> I'm a great believer in print statements.  If you need
> to drop into gsb without calling abort, there's a dummy
> function gdb_break -- handy for arbitrary break points.
> 



More information about the Cmdist mailing list