Subject: Re: bug#11813: Segmentation fault on launch related to x_draw_glyph_string_background

From: Left Right <[email-masked]>
Date: Fri, 29 Jun 2012 13:17:48 +0300

Program received signal SIGSEGV, Segmentation fault.
0x000000000056c02e in x_draw_glyph_string_background
(s=0x7fffffffba40, force_p=1) at xterm.c:1210
1210          else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
(gdb) frame 2
#2  0x0000000000493044 in draw_glyphs (w=0x146bdc0, x=850,
row=0x1674890, area=TEXT_AREA, start=0, end=68, hl=DRAW_NORMAL_TEXT,
overlaps=0) at xdisp.c:23404
23404       FRAME_RIF (f)->draw_glyph_string (s);
(gdb) pgrow
TEXT: 68 glyphs
  0    0: CHAR[ ] str=eb7881[0] blev=0,btyp=L w=11 a+d=14+4 face=1 [
  1   11: CHAR[U] str=11bef51[1] blev=0,btyp=L w=10 a+d=14+4 face=1
  2   21: CHAR[:] str=169a6c1[0] blev=0,btyp=L w=10 a+d=14+4 face=1
  3   31: CHAR[-] str=11daed1[1] blev=0,btyp=L w=10 a+d=14+4 face=1
  4   41: CHAR[-] str=11daeb1[1] blev=0,btyp=L w=10 a+d=14+4 face=1
  5   51: CHAR[-] str=11dbba1[1] blev=0,btyp=L w=10 a+d=14+4 face=1
  6   61: CHAR[ ] str=b0bf61[0] blev=0,btyp=L w=10 a+d=14+4 face=1
  7   71: CHAR[ ] str=b0bf61[1] blev=0,btyp=L w=10 a+d=14+4 face=1
  8   81: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
  9  105: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 10  129: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 11  153: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 12  177: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 13  201: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 14  225: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 15  249: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 16  273: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 17  297: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 18  321: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 19  345: GLYPHLESS[HEX] str=11bf4c1[1] w=24 a+d=18+7 face=13 slice=2,65530,2,5
 20  369: CHAR[ ] str=11c5121[0] blev=0,btyp=L w=10 a+d=14+4 face=1
 21  379: CHAR[ ] str=11c5121[1] blev=0,btyp=L w=10 a+d=14+4 face=1
 22  389: CHAR[ ] str=11c5121[2] blev=0,btyp=L w=10 a+d=14+4 face=1
 23  399: CHAR[A] str=11dd7d1[1] blev=0,btyp=L w=10 a+d=14+4 face=1
 24  409: CHAR[l] str=11dd7d1[1] blev=0,btyp=L w=10 a+d=14+4 face=1
 25  419: CHAR[l] str=11dd7d1[1] blev=0,btyp=L w=10 a+d=14+4 face=1
 26  429: CHAR[ ] str=11ab001[0] blev=0,btyp=L w=10 a+d=14+4 face=1
 27  439: CHAR[L] str=11ab001[1] blev=0,btyp=L w=10 a+d=14+4 face=1
 28  449: CHAR[1] str=11ab001[3] blev=0,btyp=L w=10 a+d=14+4 face=1
 29  459: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 30  469: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 31  479: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 32  489: CHAR[ ] str=11aff91[0] blev=0,btyp=L w=10 a+d=14+4 face=1
 33  499: CHAR[ ] str=11aff91[1] blev=0,btyp=L w=10 a+d=14+4 face=1
 34  509: CHAR[(] str=1196d71[0] blev=0,btyp=L w=10 a+d=14+4 face=1
 35  519: CHAR[L] str=169a621[0] blev=0,btyp=L w=10 a+d=14+4 face=1
 36  529: CHAR[i] str=169a621[1] blev=0,btyp=L w=10 a+d=14+4 face=1
 37  539: CHAR[s] str=169a621[2] blev=0,btyp=L w=10 a+d=14+4 face=1
 38  549: CHAR[p] str=169a621[3] blev=0,btyp=L w=10 a+d=14+4 face=1
 39  559: CHAR[ ] str=169a621[4] blev=0,btyp=L w=10 a+d=14+4 face=1
 40  569: CHAR[I] str=169a621[5] blev=0,btyp=L w=10 a+d=14+4 face=1
 41  579: CHAR[n] str=169a621[6] blev=0,btyp=L w=10 a+d=14+4 face=1
 42  589: CHAR[t] str=169a621[7] blev=0,btyp=L w=10 a+d=14+4 face=1
 43  599: CHAR[e] str=169a621[8] blev=0,btyp=L w=10 a+d=14+4 face=1
 44  609: CHAR[r] str=169a621[9] blev=0,btyp=L w=10 a+d=14+4 face=1
 45  619: CHAR[a] str=169a621[10] blev=0,btyp=L w=10 a+d=14+4 face=1
 46  629: CHAR[c] str=169a621[11] blev=0,btyp=L w=10 a+d=14+4 face=1
 47  639: CHAR[t] str=169a621[12] blev=0,btyp=L w=10 a+d=14+4 face=1
 48  649: CHAR[i] str=169a621[13] blev=0,btyp=L w=10 a+d=14+4 face=1
 49  659: CHAR[o] str=169a621[14] blev=0,btyp=L w=10 a+d=14+4 face=1
 50  669: CHAR[n] str=169a621[15] blev=0,btyp=L w=10 a+d=14+4 face=1
 51  679: CHAR[)] str=1196f51[0] blev=0,btyp=L w=10 a+d=14+4 face=1
 52  689: CHAR[ ] str=1196f91[0] blev=0,btyp=L w=10 a+d=14+4 face=1
 53  699: CHAR[ ] pos=0 blev=0,btyp=L w=10 a+d=14+4 face=1
 54  709: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 55  719: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 56  729: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 57  739: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 58  749: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 59  759: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 60  769: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 61  779: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 62  789: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 63  799: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 64  809: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 65  819: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 66  829: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1
 67  839: CHAR[ ] pos=-1 blev=0,btyp=B w=10 a+d=14+4 face=1 ]

Here's what I get in the pgrow

Next, the contents of row:

(gdb) display row
1: row = (struct glyph_row *) 0x1674890
(gdb) display *row
2: *row = {
  glyphs = {0xf20600, 0xf20600, 0xf21680, 0xf21680},
  used = {0, 68, 0},
  x = 0,
  y = 612,
  pixel_width = 849,
  ascent = 18,
  height = 25,
  phys_ascent = 18,
  phys_height = 25,
  visible_height = 25,
  extra_line_spacing = 0,
  hash = 46368546,
  start = {
    pos = {
      charpos = 0,
      bytepos = 0
    },
    overlay_string_index = 0,
    string_pos = {
      charpos = 0,
      bytepos = 0
    },
    dpvec_index = 0
  },
  end = {
    pos = {
      charpos = 0,
      bytepos = 0
    },
    overlay_string_index = 0,
    string_pos = {
      charpos = 0,
      bytepos = 0
    },
    dpvec_index = 0
  },
  minpos = {
    charpos = 0,
    bytepos = 0
  },
  maxpos = {
    charpos = 0,
    bytepos = 0
  },
  overlay_arrow_bitmap = 0,
  left_user_fringe_bitmap = 0,
  right_user_fringe_bitmap = 0,
  left_fringe_bitmap = 0,
  right_fringe_bitmap = 0,
  left_user_fringe_face_id = 0,
  right_user_fringe_face_id = 0,
  left_fringe_face_id = 0,
  right_fringe_face_id = 0,
  left_fringe_offset = 0,
  right_fringe_offset = 0,
  fringe_bitmap_periodic_p = 0,
  redraw_fringe_bitmaps_p = 0,
  enabled_p = 1,
  truncated_on_left_p = 0,
  truncated_on_right_p = 0,
  continued_p = 0,
  displays_text_p = 0,
  ends_at_zv_p = 0,
  fill_line_p = 0,
  indicate_empty_line_p = 0,
  contains_overlapping_glyphs_p = 0,
  full_width_p = 1,
  mode_line_p = 1,
  overlapped_p = 0,
  ends_in_middle_of_char_p = 0,
  starts_in_middle_of_char_p = 0,
  overlapping_p = 0,
  mouse_face_p = 0,
  ends_in_newline_from_string_p = 0,
  exact_window_width_line_p = 0,
  cursor_in_fringe_p = 0,
  ends_in_ellipsis_p = 0,
  indicate_bob_p = 0,
  indicate_top_line_p = 0,
  indicate_eob_p = 0,
  indicate_bottom_line_p = 0,
  reversed_p = 0,
  continuation_lines_width = 0,
  clip = 0x0
}

Best.

Oleg