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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 20 Feb 2016 10:08:08 +0200

> From: Óscar Fuentes <[email-masked]>
> Cc: [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.

It was probably not displayed because Emacs was busy doing something,
so it didn't enter redisplay.

In any case, that C-g is most probably the reason for what you saw
using "finish" -- it caused Emacs to throw to top level.

IOW, the data you collected is probably not relevant to the root cause
of the problem.

> 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)

Are you saying that just attaching GDB didn't stop Emacs, and you
needed C-c to do that?

> 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.

What do you mean by "cannot resume"?  What happens if you try?
What happens if you kill the GDB process, and then attach another GDB
to Emacs?

Thanks.