I thought I was being smart and used “auto” instead of “FString”. Sometimes it worked okay, but gave funny ascii characters in the output. Other times, it just crashed outright and put up a fault dialog to send diagnostic info to Epic.
Lesson learned: use appropriate classes when programming in Unreal Engine.