--- Begin Message ---
Subject: |
Re: Looping in redisplay due to font problem |
Date: |
Mon, 06 Oct 2008 12:37:09 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Kenichi Handa <handa@m17n.org> writes:
>> #0 0x00007f54662e1433 in select () from /lib/libc.so.6
>> #1 0x00007f546403b2b6 in ?? () from /usr/lib/libxcb.so.1
>> #2 0x00007f546403b8eb in ?? () from /usr/lib/libxcb.so.1
>> #3 0x00007f546403c050 in xcb_send_request () from /usr/lib/libxcb.so.1
>> #4 0x00007f5466e71f1a in _XPutXCBBuffer () from /usr/lib/libX11.so.6
>> #5 0x00007f5466e72267 in ?? () from /usr/lib/libX11.so.6
>> #6 0x00007f54650be5a3 in XRenderFillRectangle () from
>> /usr/lib/libXrender.so.1
>
> Does Emacs always stop at that place when you repeat "cont"
> and "stop"?
Yes, it always seems to stop at this place. Here's `bt full' and a
debugging session. I don't see anything wrong OTOH, and am unsure about
what to look for. Stepping forward in gdb doesn't work because the
program is stopped inside `select'. Any suggestions?
#0 0x00007f6dd0fe5433 in select () from /lib/libc.so.6
#1 0x00007f6dcf0422b6 in ?? () from /usr/lib/libxcb.so.1
#2 0x00007f6dcf0428eb in ?? () from /usr/lib/libxcb.so.1
#3 0x00007f6dcf043050 in xcb_send_request () from /usr/lib/libxcb.so.1
#4 0x00007f6dd1943f1a in _XPutXCBBuffer () from /usr/lib/libX11.so.6
#5 0x00007f6dd1944267 in ?? () from /usr/lib/libX11.so.6
#6 0x00007f6dd19370bd in XSetClipMask () from /usr/lib/libX11.so.6
#7 0x00000000004e426d in x_draw_glyph_string (s=0x7fffdd7a95e0)
at xterm.c:2883
relief_drawn_p = 0
#8 0x00000000004617cc in draw_glyphs (w=0x1cd5ad0, x=72, row=0x1f727d0,
area=TEXT_AREA, start=7, end=8, hl=DRAW_NORMAL_TEXT, overlaps=0)
at xdisp.c:20504
head = (struct glyph_string *) 0x7fffdd7a95e0
tail = (struct glyph_string *) 0x7fffdd7a95e0
s = (struct glyph_string *) 0x7fffdd7a95e0
clip_head = (struct glyph_string *) 0x0
clip_tail = (struct glyph_string *) 0x0
i = 8
j = -579167284
x_reached = 72
last_x = 648
area_left = 8
f = (struct frame *) 0x19a52b0
#9 0x0000000000466f9c in x_write_glyphs (start=0x13de968, len=1)
at xdisp.c:21913
x = 0
hpos = 7
#10 0x0000000000418fe2 in update_text_area (w=0x1cd5ad0, vpos=8)
at dispnew.c:4585
start_x = 56
start_hpos = 7
start = (struct glyph *) 0x13de968
current_x = 64
skip_first_p = 0
can_skip_p = 1
stop = 33
i = 8
desired_glyph = (struct glyph *) 0x13de990
overlapping_glyphs_p = 1
desired_stop_pos = 62
x = 64
current_glyph = (struct glyph *) 0x1f8d8e0
current_row = (struct glyph_row *) 0xf63610
desired_row = (struct glyph_row *) 0x1f727d0
rif = (struct redisplay_interface *) 0x8a46c0
changed_p = 1
(gdb) f 8
#8 0x0000000000656170 in xftfont_draw (s=0x7fff461d8010, from=0, to=1, x=64,
y=149, with_background=1) at xftfont.c:549
549 XftDrawRect (xft_draw, &bg,
(gdb) p s
$1 = (struct glyph_string *) 0x7fff461d8010
(gdb) p *s
$2 = {
x = 64,
y = 136,
ybase = 149,
width = 8,
background_width = 8,
height = 17,
left_overhang = 0,
right_overhang = 0,
f = 0x19a52b0,
w = 0x1cd5ad0,
display = 0xcb8790,
window = 54526142,
row = 0x1f6f7f0,
area = TEXT_AREA,
char2b = 0x7fff461d7ff0,
nchars = 1,
hl = DRAW_NORMAL_TEXT,
face = 0x13cdae0,
font = 0x1c04810,
cmp = 0x0,
cmp_id = 0,
cmp_from = 0,
cmp_to = 0,
extends_to_end_of_line_p = 0,
background_filled_p = 0,
two_byte_p = 0,
font_not_found_p = 0,
stippled_p = 0,
for_overlaps = 0,
padding_p = 0,
gc = 0xfbbf00,
first_glyph = 0x13de968,
img = 0x0,
slice = {
x = 0,
y = 0,
width = 0,
height = 0
},
clip_head = 0x0,
clip_tail = 0x0,
clip = {{
x = 8,
y = 136,
width = 640,
height = 17
}, {
x = 0,
y = 0,
width = 0,
height = 0
}},
num_clips = 1,
underline_position = 0,
underline_thickness = 0,
next = 0x0,
prev = 0x0
}
(gdb) p *(s->font)
$3 = {
size = 4611686018429485074,
next = 0x1c121e0,
props = {12109345, 21852401, 18521457, 11665121, 12097873, 205440, 205056,
205312, 104, 11665121, 800, 0, 12327557, 11665121, 31929283, 31929251,
31929347, 18521505},
max_width = 0,
pixel_size = 13,
height = 17,
space_width = 8,
average_width = 8,
min_width = 8,
ascent = 13,
descent = 4,
underline_thickness = 0,
underline_position = 0,
vertical_centering = 0,
encoding_type = 0 '\0',
baseline_offset = 0,
relative_compose = 0,
default_ascent = 0,
font_encoder = 0x1c04aa0,
driver = 0xb16da0,
encoding_charset = -1,
repertory_charset = -1
}
--- End Message ---