GNU bug report logs -
#60580
29.0.60; crash in xdisp.c with modus theme and display-fill-column-indicator
Previous Next
Reported by: chad <yandros <at> gmail.com>
Date: Thu, 5 Jan 2023 19:21:02 UTC
Severity: normal
Found in version 29.0.60
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 60580 <at> debbugs.gnu.org (full text, mbox):
> From: chad <yandros <at> gmail.com>
> Date: Thu, 5 Jan 2023 14:19:48 -0500
>
> From emacs -q, evaluate:
>
> (custom-set-variables '(custom-enabled-themes '(modus-vivendi)))
> (global-display-fill-column-indicator-mode 1)
>
> Emacs will fail the eassert in append_stretch_glyph at
> xdisp.c:30993.
Doesn't happen here. What is your default face's font with that theme?
> Looking at it in gdb, append_stretch_glyph is passed an
> it with both ascent=descent=1 and height=11.
I don't understand: if ascent=descent=1 and height=11, then how come
the condition
eassert (ascent >= 0 && ascent <= height);
fails to be true?
The backtrace tells a different story:
> #1 0x0000555555823630 in die
> (msg=0x555555991b70 "ascent >= 0 && ascent <= height", file=0x55555598b48f "xdisp.c", line=30993) at alloc.c:7706
> #2 0x00005555556388a2 in append_stretch_glyph
> (it=0x7fffffff8430, object=XIL(0), width=639, height=2, ascent=11)
> at xdisp.c:30993
It says here that height = 2 and ascent = 11. Which is very strange.
Can you tell what happens here (line 23325):
const int stretch_ascent = (((it->ascent + it->descent)
* FONT_BASE (font)) / FONT_HEIGHT (font));
What are the values of the following at that line:
FONT_BASE (font)
FONT_HEIGHT (font)
it->ascent
it->descent
stretch_ascent
This bug report was last modified 2 years and 130 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.