bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs 21.2 core dump in find_first_unchanged_at_end_row


From: Gerd Moellmann
Subject: Re: Emacs 21.2 core dump in find_first_unchanged_at_end_row
Date: 29 Mar 2002 23:56:53 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2.50

Paul Eggert <eggert@twinsun.com> writes:

> > From: gerd.moellmann@t-online.de (Gerd Moellmann)
> > Date: 29 Mar 2002 21:25:15 +0100
> 
> > > Is it possible that direct_output_for_insert was called during the
> > > scenario that I describe ("C-x C-s" immediately followed by "a")?
> > 
> > It's hard to tell, but it could be.  Seeing that there are no
> > intervals in the buffer makes it more likely.  Do you know if the
> > buffer had a non-nil after-change-function?
> 
> Not sure, but I think not.  I believe the buffer was for a file that
> is under VC control, but I don't think VC messes with
> after-change-function.

If there's no after-change-function, it's even more likely that 
direct_output_for_insert got called.

> > -- unchanged info says there are 4137 chars unchanged at the buffer
> >    start, and 3936 unchanged at the end, sum 8073, and point-max (z)
> >    is 8159.  This certainly doesn't fit the addition of 1 char to the
> >    buffer (if that was all that happened in the buffer).
> 
> Yes, that looked weird to me as well.  My memory _could_ be wrong; or
> perhaps I typed C-y or something like that by mistake; but all I remember
> was typing C-x C-s a.
> 
> > Could you please try to print, in the frame for try_window_id, for
> > example,
> > 
> >   (gdb) p *it->w->current_matrix
> 
> $1 = {pool = 0x0, rows = 0xba3000, rows_allocated = 75, nrows = 75, 
>   matrix_x = 0, matrix_y = 0, matrix_w = 86, matrix_h = 75, window_left_x = 
> 0, 
>   window_top_y = 0, window_height = 923, window_width = 553, 
>   window_vscroll = 0, left_margin_glyphs = 0, right_margin_glyphs = 0, 
>   no_scrolling_p = 0, header_line_p = 0, method = '\000' <repeats 511 times>, 
>   buffer = 0xb3e200, begv = 1, zv = 8158}

There is the `a'---the value of point-max at the time the last
redisplay completed was 8158, one char less than there's now in the
buffer.  Which means the unchanged information is indeed screwed up
and caused the crash, indirectly.

Did you compile Emacs with -DGLYPH_DEBUG?  If yes, could you please

  (gdb) p redisplay_history[history_idx - N].trace

for N from 1 to 5, say.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]