Subject: bug#15893: 24.3.50; emacs_backtrace

From: Eli Zaretskii <[email-masked]>
Date: Tue, 26 Nov 2013 19:19:28 +0200

> Date: Tue, 26 Nov 2013 14:57:52 +0100
> From: Dani Moncayo <[email-masked]>
> 
> >> > If you can recall what were you doing when this happened, please tell.
> >>
> >> Reverting a buffer which was updated by another program.
> >
> > Thanks.
> 
> FWIW: Today (with an Emacs build yesterday from trunk) I've got two
> more crashes while reverting buffers.

Thanks.  However, without a recipe to reproduce or at least some
supporting data, there's not much one can learn from this, except that
the problem is not yet solved.  If I modify a file outside Emacs and
then try to insert a character, and when Emacs asks the question, tell
it to revert its buffer, I see no crashes.

> Finsert_file_contents at fileio.c:4019
> Ffuncall at eval.c:2821
> exec_byte_code at bytecode.c:919
> funcall_lambda at eval.c:2973
> Ffuncall at eval.c:2854
> exec_byte_code at bytecode.c:919
> funcall_lambda at eval.c:2973
> Ffuncall at eval.c:2854
> exec_byte_code at bytecode.c:919
> funcall_lambda at eval.c:2973
> Ffuncall at eval.c:2854
> exec_byte_code at bytecode.c:919
> funcall_lambda at eval.c:3039
> Ffuncall at eval.c:2854
> call1 at eval.c:2604
> lock_file at filelock.c:709
> prepare_to_modify_buffer_1 at insdel.c:1841
> prepare_to_modify_buffer at insdel.c:1876
> insert_1_both at insdel.c:797
> insert_and_inherit at insdel.c:593
> internal_self_insert at cmds.c:489
> Fself_insert_command at cmds.c:310
> Ffuncall at eval.c:2805
> Fcall_interactively at callint.c:836

What I see from this backtrace is that you typed a characters
(self-insert-command), to which Emacs told you that the file was
modified and asked what to do.  You then replied with 'r', asking
Emacs to revert the buffer.  As result of the revert, some
after-change-hook got run, which caused another (perhaps the same)
after-change-hook to run:

> Fline_beginning_position at editfns.c:772
> Ffuncall at eval.c:2805
> exec_byte_code at bytecode.c:919
> funcall_lambda at eval.c:3039
> Ffuncall at eval.c:2854
> funcall_nil at eval.c:2356
> run_hook_with_args at eval.c:2541
> Frun_hook_with_args at eval.c:2402 <<<<<<<<<<<<<<<<<<<<<
> Ffuncall at eval.c:2786
> exec_byte_code at bytecode.c:919
> funcall_lambda at eval.c:2973
> Ffuncall at eval.c:2854
> funcall_nil at eval.c:2356
> run_hook_with_args at eval.c:2541
> Frun_hook_with_args at eval.c:2402 <<<<<<<<<<<<<<<<<<<<<<<<
> signal_after_change at insdel.c:2081
> del_range_byte at insdel.c:1637
> Finsert_file_contents at fileio.c:4019

Any idea what could those hooks be?

In general, if you want to help the investigation, run Emacs under
GDB, and when this happens look around to find answers to these
questions.

TIA.