[Top][All Lists]

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

Re: [RFC] Moving to Guile 2.2 and away from GUB

From: David Kastrup
Subject: Re: [RFC] Moving to Guile 2.2 and away from GUB
Date: Thu, 25 Nov 2021 20:01:35 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Jonas Hahnfeld <> writes:

> Am Donnerstag, dem 25.11.2021 um 16:18 +0100 schrieb David Kastrup:

>> > System::init_elements has
>> > 
>> >   set_object (this, "all-elements", scm_arr);
>> > 
>> > So *all_elements_ is protected as part of being a Spanner.  As long as
>> > the spanner has not committed suicide (when it drops its object list).
>> > If it has committed suicide but not been collected yet, *all_elements_
>> > may be collected before the System itself.
> Ah ok, otherwise I would have argued that all_elements_ not being
> initialized could only happen during construction of Systems, which is
> not what I'm seeing in the backtrace of the crash...
>> > This is garbage.
>> Check out <>
>> if you can trigger this with some frequency.
> Nope, still crashes in the same place.

Huh.  That would have been a rather obvious candidate.  Still think this
change is definitely warranted.

>> Also it may be worth figuring out whether the crash occurs in
>> connection with frenched systems (which are explicitly removed before
>> the end of typesetting).
> How do I check this? The System that I'm marking still looks fine, as
> far as I can tell, but the problem with GC issues is that it can also
> be any other Grob running havoc (even though it's suspicious that I
> only see it crashing in System::derived_mark...)

Could be something that happens in the course of line breaking plus
frenching?  The original system may get frenched and the broken parts
miss out on an all_elements_scm_ of their own as their savior?
Something like that?

Just stabbing around in the dark.  The whole Grob_array thing is an

David Kastrup

reply via email to

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