GNU bug report logs - #11813
Segmentation fault on launch related to x_draw_glyph_string_background

Previous Next

Package: emacs;

Reported by: Left Right <olegsivokon <at> gmail.com>

Date: Fri, 29 Jun 2012 02:30:02 UTC

Severity: normal

Merged with 11850

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #61 received at 11813 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Left Right <olegsivokon <at> gmail.com>,
	Yotam Medini יותם מדיני
	<yotam.medini <at> gmail.com>
Cc: 11850 <at> debbugs.gnu.org, 11813 <at> debbugs.gnu.org
Subject: Re: bug#11813: bug#11850: crash (null font) running emacs built from
	git
Date: Thu, 05 Jul 2012 19:54:59 +0300
> Date: Thu, 5 Jul 2012 16:33:30 +0300
> From: Left Right <olegsivokon <at> gmail.com>
> Cc: 11850 <at> debbugs.gnu.org, 11813 <at> debbugs.gnu.org
> 
> > (gdb) p s->f->output_data.x->font
> > (gdb) p *(s->f->output_data.x->font)
> 
> (gdb) frame 3
> #3  0x000000000048eb18 in fill_glyphless_glyph_string
> (s=0x7fffffffba40, face_id=13, start=8, end=68, overlaps=0) at
> xdisp.c:22578
> 22578     eassert (s->font);
> (gdb) p s->f->output_data.x->font
> $1 = (struct font *) 0x146efd8
> (gdb) p *(s->f->output_data.x->font)
> $2 = {header = {size = 4611686018429485074, next = {nbytes = 264,
> buffer = 0x108, vector = 0x108}}, props = {15296386, 15541218,
> 15541266, 15541170, 15362930, 102728, 102532, 102656, 68,
>     400, 0, 400, 18785894, 15120722, 15558113, 15558113, 15120722,
> 15296386}, max_width = 40, pixel_size = 17, height = 18, space_width =
> 10, average_width = 10, min_width = 10,
>   ascent = 14, descent = 4, underline_thickness = 1,
> underline_position = 2, vertical_centering = 0, encoding_type = 0
> '\000', baseline_offset = 0, relative_compose = 0,
>   default_ascent = 0, font_encoder = 0x1000040800001008, driver =
> 0xdd5f60, encoding_charset = 1, repertory_charset = 1}
> (gdb)

OK, then does the following patch fix the problem?

--- src/xdisp.c	2012-07-05 16:28:34 +0000
+++ src/xdisp.c	2012-07-05 16:51:53 +0000
@@ -22604,7 +22604,7 @@ fill_glyphless_glyph_string (struct glyp
   last = s->row->glyphs[s->area] + end;
   voffset = glyph->voffset;
   s->face = FACE_FROM_ID (s->f, face_id);
-  s->font = s->face->font;
+  s->font = s->face->font ? s->face->font : FRAME_FONT (s->f);
   s->nchars = 1;
   s->width = glyph->pixel_width;
   glyph++;





This bug report was last modified 12 years and 155 days ago.

Previous Next


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