GNU bug report logs - #1070
Looping in redisplay due to font problem

Previous Next

Package: emacs;

Reported by: Chong Yidong <cyd <at> stupidchicken.com>

Date: Thu, 2 Oct 2008 23:55:04 UTC

Severity: normal

Merged with 1071, 1076, 1097, 1101, 1105

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: Chong Yidong <cyd <at> stupidchicken.com>
Subject: bug#1076 closed by Chong Yidong <cyd <at> stupidchicken.com> (Re: 
 Looping in redisplay due to font problem)
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your bug report
which was filed against the emacs package:

#1070: Looping in redisplay due to font problem

It has been closed by Chong Yidong <cyd <at> stupidchicken.com>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <cyd <at> stupidchicken.com> by
replying to this email.


-- 
1070: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1070
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Chong Yidong <cyd <at> stupidchicken.com>
To: Kenichi Handa  <handa <at> m17n.org>
Cc: 1070-done <at> debbugs.gnu.org
Subject: Re: Looping in redisplay due to font problem
Date: Thu, 09 Oct 2008 12:45:45 -0400
I found the bug: it's an infloop in update_text_area which can happen
when the pixel width of the current glyph is smaller than the lbearing
of the next glyph.  I'm not sure why the bug was triggered only under
the situation I described; maybe, only that exact geometry and font
produced the numbers leading to the infloop.

I've checked in a fix.

[Message part 3 (message/rfc822, inline)]
From: Chong Yidong <cyd <at> stupidchicken.com>
To: Kenichi Handa <handa <at> m17n.org>
Cc: emacs-pretest-bug <at> gnu.org
Subject: Re: Looping in redisplay due to font problem
Date: Fri, 03 Oct 2008 12:18:18 -0400
Kenichi Handa <handa <at> m17n.org> writes:

> That's a very strange phenomenon.  But, I can't reproduce
> it.  When I hit PageDown four times, the top line is "Luxi
> Sans:style=Regular", and "Corsivo" appears on the 9th line
> (logically 8th line because of continuation).
>
> In my case, this font is selected for the default case:
>
> -bitstream-Bitstream Vera Sans
> Mono-normal-normal-normal-*-16-*-*-*-m-0-iso10646-1
>
> Which font is selected in your case?

C-u C-x = gives

-unknown-DejaVu Sans Mono-normal-normal-normal-*-16-*-*-*-m-0-iso10646-1

> And, what does "Emacs begins looping while in redisplay" exactly mean?

Emacs is unresponsive to any further input, and the character "o" in
"Corsivo" flickers.  Interrupting the loop in gdb gives the following
backtrace.  It seems to be stuck in an Xft function.

#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
#7  0x00007f5466c1f5b1 in XftDrawRect () from /usr/lib/libXft.so.2
#8  0x0000000000656080 in xftfont_draw (s=0x7fff725843b0, from=0, to=1, x=100, 
    y=175, with_background=1) at xftfont.c:549
#9  0x00000000004e0268 in x_draw_glyph_string_foreground (s=0x7fff725843b0)
    at xterm.c:1316
#10 0x00000000004e374c in x_draw_glyph_string (s=0x7fff725843b0)
    at xterm.c:2708
#11 0x00000000004616f1 in draw_glyphs (w=0x17ec430, x=110, row=0x1f49b20, 
    area=TEXT_AREA, start=7, end=8, hl=DRAW_NORMAL_TEXT, overlaps=0)
    at xdisp.c:20504
#12 0x0000000000466ec1 in x_write_glyphs (start=0x145f748, len=1)
    at xdisp.c:21913
#13 0x0000000000418fa4 in update_text_area (w=0x17ec430, vpos=8)
    at dispnew.c:4584
...



This bug report was last modified 16 years and 285 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.