Subject: Re: bug#22739: 25.0.50; Hangs on revertig buffer

From: Óscar Fuentes <[email-masked]>
Date: Fri, 19 Feb 2016 23:09:02 +0100

Eli Zaretskii <[email-masked]> writes:

> This seems to say that the display engine signaled an error.  If so,
> the error message should be in *Messages*.  One way of accessing the
> error messages is to use the facilities in etc/emacs-buffer.gdb (after
> you instruct GDB to load that file with the "source" command) to
> access the text of *Messages*.

After using ybuffer-save for recovering *Messages*, the last lines are

reverting...
reverted
Quit

The "reverting... reverted" lines are the output of a wrapper function I
wrote for executing revert-buffer:

(defun ofv-revert-buffer ()
  (interactive)
  (message "reverting...")
  (revert-buffer nil (not (buffer-modified-p)))
  (message "reverted"))

It is interesting that the last line of *Messages* is "Quit", but the
minibuffer on the frozen Emacs session shows "reverted". From where
comes "Quit"? Why it was not displayed? When Emacs froze, I tried C-g,
but that was after a few seconds.

> An alternative is to put a breakpoint
> in Fsignal, and look at the error symbol and data when the breakpoint
> breaks, using the commands in src/.gdbinit that display Lisp objects.
> (But do NOT use "pp", because it invokes a function inside Emacs.)

I'm afraid that the Emacs instance is not resumable anymore. After using
the "finish" trick on the previous message, I was unable to interrup
Emacs either with C-c on the gdb console (as I did the first time after
attaching gdb) nor C-z on the Emacs window (as DEBUG suggests.) I sent a
SIGSTOP signal to the Emacs process to gain access to the gdb command
line and now it can't resume.