emacs-devel
[Top][All Lists]
Advanced

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

Re: EXC_BAD_ACCESS on Mac


From: Eli Zaretskii
Subject: Re: EXC_BAD_ACCESS on Mac
Date: Tue, 18 Jun 2013 05:48:51 +0300

> Date: Tue, 18 Jun 2013 04:44:05 +0900 (JST)
> Cc: address@hidden
> From: Kazu Yamamoto (山本和彦)
>  <address@hidden>
> 
> >   #1  0x000000010001b44d in fill_glyph_string (s=0x10c408758, 
> > face_id=1606399872, start=1606399888, end=1606399828, overlaps=677) at 
> > xdisp.c:22766
> >   #2  0x000000010001bded in draw_glyphs (w=0x10c408758, x=8, 
> > row=0x7fff5fbfb790, area=1606399828, start=677, end=677, 
> > hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:23384
> > 
> > So please look around and see what is going on in this glyph string.
> 
> expose_area has:
> 
>       if (last > first)
>         draw_glyphs (w, first_x - start_x, row, area,
>                      first - row->glyphs[area], last - row->glyphs[area],
>                      DRAW_NORMAL_TEXT, 0);
>     }
> 
> last is greater than first.

But in your backtrace, draw_glyphs was not called from here, it was
called from here:

  if (area == TEXT_AREA && row->fill_line_p)
    /* If row extends face to end of line write the whole line.  */
    draw_glyphs (w, 0, row, area,        <<<<<<<<<<<<< line 28166
                 0, row->used[area],
                 DRAW_NORMAL_TEXT, 0);

Here's the backtrace again:

  (gdb) info stack
  #0  0x000000010001b317 in get_glyph_face_and_encoding (f=0x10c408758, 
glyph=0x5bfe, char2b=0x7fff5fbfb790, two_byte_p=0x7fff5fbfb754) at xdisp.c:22544
  #1  0x000000010001b44d in fill_glyph_string (s=0x10c408758, 
face_id=1606399872, start=1606399888, end=1606399828, overlaps=677) at 
xdisp.c:22766
  #2  0x000000010001bded in draw_glyphs (w=0x10c408758, x=8, 
row=0x7fff5fbfb790, area=1606399828, start=677, end=677, hl=DRAW_NORMAL_TEXT, 
overlaps=0) at xdisp.c:23384
  #3  0x00000001000205fd in expose_area (w=0x10c408c68, row=0x2a5, 
r=0x7fff5fbfbbc8, area=1606399828) at xdisp.c:28166
  #4  0x0000000100020775 in expose_line (w=0x10c408c68, row=0x1180f9f00, 
r=0x7fff5fbfbbc8) at xdisp.c:28224

So either the backtrace lies to us, or draw_glyphs is NOT called with
START and END equal.



reply via email to

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