From: Eli Zaretskii <eliz@gnu.org>
To: "Yotam Medini יותם מדיני" <yotam.medini@gmail.com>,
"Left Right" <olegsivokon@gmail.com>
Cc: 11850@debbugs.gnu.org, 11813@debbugs.gnu.org
Subject: bug#11850: crash (null font) running emacs built from git
Date: Wed, 04 Jul 2012 19:32:01 +0300 [thread overview]
Message-ID: <83d34b4hdq.fsf@gnu.org> (raw)
In-Reply-To: <CAAE-6rYk9cbOfHWkQZk0Nyc0kPc9BS14KO8VxzL=ByhYMnCi6A@mail.gmail.com>
> Date: Wed, 4 Jul 2012 17:31:38 +0300
> From: Yotam Medini יותם מדיני <yotam.medini@gmail.com>
> Cc: 11850@debbugs.gnu.org
>
> With the patch it still crashes immediately (on my office LinuxMint).
> But in a 'later' place. See following gdb-log:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x080feb2f in x_draw_glyphless_glyph_string_foreground (s=0xbfffd230)
> at xterm.c:1420
> (gdb) where
> #0 0x080feb2f in x_draw_glyphless_glyph_string_foreground (s=0xbfffd230)
> at xterm.c:1420
As expected.
Next, please apply the patch below, and tell me whether one of the
assertions I've added catches our villain. If it does, please show
the backtrace.
=== modified file 'src/xdisp.c'
--- src/xdisp.c 2012-06-29 18:52:54 +0000
+++ src/xdisp.c 2012-07-04 16:26:22 +0000
@@ -22508,6 +22508,7 @@ fill_composite_glyph_string (struct glyp
s->font_not_found_p = 1;
s->font = FRAME_FONT (s->f);
}
+ eassert (s->font);
/* Adjust base line for subscript/superscript text. */
s->ybase += s->first_glyph->voffset;
@@ -22535,6 +22536,7 @@ fill_gstring_glyph_string (struct glyph_
s->face = FACE_FROM_ID (s->f, face_id);
lgstring = composition_gstring_from_id (s->cmp_id);
s->font = XFONT_OBJECT (LGSTRING_FONT (lgstring));
+ eassert (s->font);
glyph++;
while (glyph < last
&& glyph->u.cmp.automatic
@@ -22573,6 +22575,7 @@ fill_glyphless_glyph_string (struct glyp
voffset = glyph->voffset;
s->face = FACE_FROM_ID (s->f, face_id);
s->font = s->face->font;
+ eassert (s->font);
s->nchars = 1;
s->width = glyph->pixel_width;
glyph++;
@@ -22654,6 +22657,7 @@ fill_glyph_string (struct glyph_string *
s->ybase += voffset;
eassert (s->face && s->face->gc);
+ eassert (s->font);
return glyph - s->row->glyphs[s->area];
}
@@ -22669,6 +22673,7 @@ fill_image_glyph_string (struct glyph_st
s->slice = s->first_glyph->slice.img;
s->face = FACE_FROM_ID (s->f, s->first_glyph->face_id);
s->font = s->face->font;
+ eassert (s->font);
s->width = s->first_glyph->pixel_width;
/* Adjust base line for subscript/superscript text. */
@@ -22696,6 +22701,7 @@ fill_stretch_glyph_string (struct glyph_
face_id = glyph->face_id;
s->face = FACE_FROM_ID (s->f, face_id);
s->font = s->face->font;
+ eassert (s->font);
s->width = glyph->pixel_width;
s->nchars = 1;
voffset = glyph->voffset;
next prev parent reply other threads:[~2012-07-04 16:32 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-03 11:27 bug#11850: crash (null font) running emacs built from git Yotam Medini יותם מדיני
2012-07-03 16:35 ` Eli Zaretskii
2012-07-03 16:49 ` Eli Zaretskii
2012-07-04 14:31 ` Yotam Medini יותם מדיני
2012-07-04 16:32 ` Eli Zaretskii [this message]
2012-07-04 20:49 ` bug#11850: bug#11813: " Eli Zaretskii
2012-07-05 7:34 ` Left Right
2012-07-05 13:17 ` bug#11850: " Eli Zaretskii
2012-07-05 13:33 ` Left Right
2012-07-05 16:54 ` Eli Zaretskii
2012-07-07 22:42 ` Left Right
2012-07-07 22:58 ` bug#11850: " Left Right
2012-07-08 3:00 ` Eli Zaretskii
2012-07-08 14:20 ` Chong Yidong
2012-07-08 15:56 ` bug#11850: " Eli Zaretskii
2012-07-08 16:29 ` Left Right
2012-07-08 18:40 ` bug#11850: " Jan Djärv
2012-07-09 4:21 ` Chong Yidong
2012-07-11 17:36 ` Left Right
2012-07-12 7:18 ` Chong Yidong
2012-08-16 3:25 ` Chong Yidong
2012-08-16 10:51 ` bug#11813: " Left Right
2012-08-26 4:36 ` Chong Yidong
2012-09-19 13:01 ` Left Right
[not found] ` <CAAE-6rb+efByT+um7KB-MfvmN2QbOiq_GRRmuwN7drsDu8TC_A@mail.gmail.com>
[not found] ` <837guj4ffq.fsf@gnu.org>
2012-07-08 15:58 ` Yotam Medini יותם מדיני
2012-07-08 16:43 ` Eli Zaretskii
2012-07-03 17:15 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83d34b4hdq.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=11813@debbugs.gnu.org \
--cc=11850@debbugs.gnu.org \
--cc=olegsivokon@gmail.com \
--cc=yotam.medini@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).