I've played around a bit, and the issue happens when the variable `load-history' is annotated. At least I get the hang and 100% CPU also when evaluating (marginalia-annotate-variable "load-history") Looking at the marginalia code, I can see no evil, and indeed I can un-marginaliarize the sample to (let ((print-escape-newlines t) (print-escape-control-characters t) (print-escape-multibyte t)) (string-width (prin1-to-string load-history))) which freezes my emacs in the same way. Concretely, `prin1-to-string' finishes and returns a 1.3 MB string and then `string-width' will run indefinitely on that. I've attached the prin1-ed value of my load-history.