On Thu, Apr 25 2024, Gerd Möllmann wrote: >> ./src/emacs -Q src/xdisp.c -eval '(igc--collect)' > > I would start by investigating what stuff reachable from struct frame > is and is not traced, which depends a bit on the platform. Also font > stuff probably, terminals, scroll bar things (at least in NS I know > there is something), and I don't know what else. The problem was a corrupted font. I added the code below and it now survives the first GC cycle. In general, fix_frame must scan the same fields as mark_frame in alloc.c does. Is that about right? Since MPS wants the address of the fields (instead the value), some creativity may be required. Is that also right? Or can I stupidly copy what mark_frame does? Helmut