Hi Gerd, No problems, I'd love to see this go in one day, it's just hard enough to carve out time to debug crash dumps I got overzealous with the change in pgtkterm.c, with the call from `lispstpcpy` (and your explanation there makes sense) looking at xterm, I see we have not marked that as a root , which is where I think that code was ported from originally. I have attached an updated patch, using a rebuilt igc-emacs from that commit, which is holding up. Thanks, On Wed, Nov 6, 2024 at 7:56 PM Gerd Möllmann wrote: > Fejfighter writes: > > > This patch marks 2 outstanding ambiguous roots and appears to solve > > crashing bugs I had been experiencing with igc/mps and pgtk. > > > > I have run this locally today, and I would have normally faced crashes > > at timer expiration, this appears to be holding up. > > Thanks for the report, Jeff! Nice to see that someone besides me is > using this :-). > > I think I see why the change in atimer.c is necessary: pgtk stores a > struct frame * as client_data in an atimer structure. That's a Lisp > object that can move during GC. Understood. > > The other change in pgtkterm.c I don't understand. AFAICS, x_id_name of > the display_info structure is indeed only used as a character buffer > into which characters from Lisp strings are memcpy'd. Could you please > explain that one? (I'm macOS only, so I don't know anything about pgtk, > if that matters.) >