Segfault was due to `glyph_position` structs keeping a pointer to `glyph_info` objects which went out of scope at a different time. The (rather ugly) fix for the moment is to copy that information into the thunk object.