unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Yagnesh Raghava Yakkala <hi@yagnesh.org>
Cc: 14272@debbugs.gnu.org
Subject: bug#14272: 24.3.50; crash on loading theme
Date: Fri, 26 Apr 2013 10:51:39 +0300	[thread overview]
Message-ID: <83vc79u3uc.fsf@gnu.org> (raw)
In-Reply-To: <87y5c5zrne.fsf@yagnesh.org>

> From: Yagnesh Raghava Yakkala <hi@yagnesh.org>
> Cc: 14272@debbugs.gnu.org
> Date: Fri, 26 Apr 2013 16:18:29 +0900
> 
> Backtrace is attached.
> 
> backtrace:
> #0  0x000000000067c13d in compute_fringe_widths (f=0x11c1418, redraw=1) at fringe.c:1368
>         left_wid = 8
>         right_wid = 8
>         font_wid = 0
>         conf_wid = 16
>         cols = 0
>         real_wid = 12846194
>         o_left = 11
>         o_right = 11
>         o_cols = 2
>         left_fringe = 12846194
>         right_fringe = 12846194
>         left_fringe_width = 8
>         right_fringe_width = 8
> #1  0x0000000000506e83 in x_new_font (f=0x11c1418, font_object=19256893, fontset=23) at xterm.c:7913
>         font = 0x125d638

The crash is caused by division by zero, here:

      int font_wid = FRAME_COLUMN_WIDTH (f);
      int cols = (left_wid + right_wid + font_wid-1) / font_wid; <<<<<<<<

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

If the "pp" command doesn't work, type

 (gdb) source /path/to/emacs/src/.gdbinit

and then try the "pp" command again.

Also, if it is possible to reconfigure Emacs with --enable-checking
and rebuild, please try this recipe in that build.  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.





  reply	other threads:[~2013-04-26  7:51 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-26  3:18 bug#14272: 24.3.50; crash on loading theme Yagnesh Raghava Yakkala
2013-04-26  6:03 ` Eli Zaretskii
2013-04-26  7:18   ` Yagnesh Raghava Yakkala
2013-04-26  7:51     ` Eli Zaretskii [this message]
2013-04-26  9:24       ` Yagnesh Raghava Yakkala
2013-04-26  9:51         ` Eli Zaretskii
2013-04-26 12:31           ` Yagnesh Raghava Yakkala
2013-04-26 13:17             ` Eli Zaretskii
2013-04-26 16:59               ` Yagnesh Raghava Yakkala
2013-04-26 17:11                 ` Glenn Morris
2013-04-26 18:13                   ` Yagnesh Raghava Yakkala
2013-04-27 13:42       ` Handa Kenichi
2013-04-27 14:35         ` Yagnesh Raghava Yakkala
2013-04-26  7:29 ` Glenn Morris

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=83vc79u3uc.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=14272@debbugs.gnu.org \
    --cc=hi@yagnesh.org \
    /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).