On Thu, Nov 25, 2021 at 7:49 PM Jonas Hahnfeld via Discussions on
LilyPond development <lilypond-devel@gnu.org> wrote:

> > Check out <https://gitlab.com/lilypond/lilypond/-/merge_requests/1025>
> > if you can trigger this with some frequency.
>
> Nope, still crashes in the same place.

Would be interesting to see if you can trigger it on a compile without
-O2. If not, that might point to a place where we forgot to remember a
value on the stack.

> > 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...)

IIRC, the whole business with grob-array skipping marking was an
attempt at cutting a corner for performance and/or limiting stack
depth when doing GC marking. It may very well not be relevant today,
especially for BGC, which has an explicitly allocated mark stack.

Does it help if you mark X/Y parents in Grob::mark_smob?

-- 
Han-Wen Nienhuys - hanw...@gmail.com - http://www.xs4all.nl/~hanwen

Reply via email to