Subject: Re: bug#30931: 27.0.50; Crash in "Automatic GC"

From: Michał Kondraciuk <[email-masked]>
Date: Mon, 26 Mar 2018 16:57:53 +0200

On 03/26/2018 04:20 PM, Noam Postavsky wrote:
> Michał, is the binding of buffer-undo-list significant for
> your reproduction (i.e., did the original crash happen in an
> undo-disabled buffer)?
Yes, originally it crashed with buffer-undo-list bound to t.

Today I was able to reproduce this crash without using Ivy. It crashes 
much faster (typically about 15 seconds):

(progn
   (package-initialize)
   (require 'yasnippet)

   (defun crash (key)
     (save-restriction
       (narrow-to-region 1 1)
       (insert " " key)
       (yas-expand)))

   (with-current-buffer "*scratch*"
     (yas-minor-mode-on)
     (let ((buffer-undo-list t))
       (while t
         (erase-buffer)
         (dolist (key '("def" "ah"))
           (run-with-idle-timer 0.0 nil #'crash key)
           (crash key))))))

Also, If I remove calls to save-restriction and narrow-to-region, Emacs 
doesn't crash. Or at least, it was running fine for 30 minutes until I 
killed Emacs.