bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#14272: 24.3.50; crash on loading theme


From: Yagnesh Raghava Yakkala
Subject: bug#14272: 24.3.50; crash on loading theme
Date: Fri, 26 Apr 2013 18:24:18 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Hello Eli,

> most probably because font->average_width is zero, because
> FRAME_COLUMN_WIDTH gets its value for font's average_width.
>
> Please do this, after Emacs crashes under GD:
>
>  (gdb) frame 1
>  (gdb) p *font
>  (gdb) pp font_object

--8<---------------cut here---------------start------------->8---
(gdb) frame 1
#1  0x0000000000506e83 in x_new_font (f=0x11c1418, font_object=19333709, 
fontset=23) at xterm.c:7913
warning: Source file is more recent than executable.
7913      compute_fringe_widths (f, 1);
(gdb) p *font
$1 = {
  header = {
    size = 4611686018679132178
  }, 
  props = {13094754, 16139730, 12959410, 12846194, 13089778, 102720, 102528, 
102656, 0, 12846194, 12846194, 0, 23107046, 12846194, 17130513, 17130353, 
16123585, 14753874}, 
  min_width = 0, 
  max_width = 0, 
  pixel_size = 0, 
  height = 3, 
  space_width = 0, 
  average_width = 0, 
  ascent = 2, 
  descent = 1, 
  underline_thickness = 0, 
  underline_position = 0, 
  vertical_centering = false, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x4000000005000000, 
  driver = 0xc2ffa0, 
  encoding_charset = -1, 
  repertory_charset = -1
}
(gdb) pp font_object
#<font-object 
"-unknown-LMSansQuot8-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1">
(gdb) 
--8<---------------cut here---------------end--------------->8---


> please try this recipe in that build.  

I don't really know how to do that. 

> I get assertion violation here:
>
>   static int
>   set_lface_from_font (struct frame *f, Lisp_Object lface,
>                      Lisp_Object font_object, int force_p)
>   {
>     Lisp_Object val;
>     struct font *font = XFONT_OBJECT (font_object);
>
>     /* Set attributes only if unspecified, otherwise face defaults for
>        new frames would never take effect.  If the font doesn't have a
>        specific property, set a normal value for that.  */
>
>     if (force_p || UNSPECIFIEDP (LFACE_FAMILY (lface)))
>       {
>       Lisp_Object family = AREF (font_object, FONT_FAMILY_INDEX);
>
>       ASET (lface, LFACE_FAMILY_INDEX, SYMBOL_NAME (family));
>       }
>
>     if (force_p || UNSPECIFIEDP (LFACE_FOUNDRY (lface)))
>       {
>       Lisp_Object foundry = AREF (font_object, FONT_FOUNDRY_INDEX);
>
>       ASET (lface, LFACE_FOUNDRY_INDEX, SYMBOL_NAME (foundry));
>       }
>
>     if (force_p || UNSPECIFIEDP (LFACE_HEIGHT (lface)))
>       {
>       int pt = PIXEL_TO_POINT (font->pixel_size * 10, FRAME_RES_Y (f));
>
>       eassert (pt > 0);  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>       ASET (lface, LFACE_HEIGHT_INDEX, make_number (pt));
>       }
>
>
> because font->pixel_size is zero, something that Emacs cannot possibly
> tolerate.  For the record, the value of lface I get is this:
>
>   [face "Arial" "outline" normal 1 normal normal nil nil "#e8e8d3" "#151515" 
> nil nil nil nil #<font-spec nil outline Arial sans iso8859-1 normal normal 
> nil 0 nil 0 nil ((:format . opentype) (:script nko arabic hebrew cyrillic 
> greek latin) (user-spec . "Courier New-10"))> nil 
> "-outline-Arial-normal-normal-normal-sans-13-*-*-*-p-*-fontset-auto1"]
>
> However, I'm not sure my font setup is similar enough to yours, so it
> would be important to know if you get the same assertion violation.
>
> In any case, the problem seems to be with font specification, so I
> hope someone who knows more than I do about that will chime in.

IIRC, I installed a custom font few months ago, that may be the reason.


Thanks.,
-- 
ఎందరో మహానుభావులు అందరికి వందనములు.
YYR





reply via email to

[Prev in Thread] Current Thread [Next in Thread]