unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 23.0.60; SEGV in font_score()
@ 2008-06-04 22:20 James Cloos
  2008-06-05  5:58 ` Kenichi Handa
  0 siblings, 1 reply; 10+ messages in thread
From: James Cloos @ 2008-06-04 22:20 UTC (permalink / raw)
  To: emacs-pretest-bug


Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

Since upgrading from an early May CVS tip to this past weekend's tip
I've had Emacs crash four times.  I attached gdb and caught the most
recent one.  The backtrace is:

[Switching to Thread 0xb73a96c0 (LWP 13397)]
0x081847bb in font_score ()
(gdb) where
#0  0x081847bb in font_score ()
#1  0x08187015 in font_sort_entites ()
#2  0x08189724 in font_find_for_lface ()
#3  0x080f0abf in fontset_find_font ()
#4  0x080f0d7f in fontset_font ()
#5  0x080f0efb in face_for_char ()
#6  0x08073fba in face_before_or_after_it_pos ()
#7  0x0807891d in get_next_display_element ()
#8  0x08079c2f in display_string ()
#9  0x0807ff6d in display_mode_element ()
#10 0x08080c39 in display_mode_element ()
#11 0x08080c39 in display_mode_element ()
#12 0x080812da in display_mode_line ()
#13 0x08081541 in display_mode_lines ()
#14 0x08087e04 in redisplay_window ()
#15 0x0808a0a3 in redisplay_window_0 ()
#16 0x08174908 in internal_condition_case_1 ()
#17 0x08075fe7 in redisplay_windows ()
#18 0x0c486734 in ?? ()
#19 0x08367625 in ?? ()
#20 0x080666e0 in ?? ()
#21 0x000022c8 in ?? ()
#22 0x0adc1748 in ?? ()
#23 0xbfc610b8 in ?? ()
#24 0x08075f9a in redisplay_windows ()
#25 0x00000000 in ?? ()

(As you can see, my default compile is with -O2 and no -g options.)

Every crash has occured when displaying gnus' *Article* buffer with a
new message.  This last time the only difference from the default font
choices is the resource 'emacs.font: DejaVu Sans Mono:pixelsize=14'.

The checkout has revision 1.33 of src/font.c.  Nothing stands out to me
as relevant in the diff between 1.33 and 1.38 as seen in viewvc.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.0.60/etc/DEBUG for instructions.

I did have gdb generate a core, but the bt info from the core is less
complete even than what I pasted above....

In GNU Emacs 23.0.60.2 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2008-06-01 on lugabout
Windowing system distributor `The X.Org Foundation', version 11.0.10599001
configured using `configure  '--prefix=/usr' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--program-suffix=-emacs-23' '--infodir=/usr/share/info/emacs-23' '--without-carbon' '--with-sound' '--with-x' '--with-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--enable-font-backend' '--with-freetype' '--with-xft' '--with-libotf' '--with-m17n-flt' '--with-x-toolkit=athena' '--without-hesiod' '--with-kerberos' '--with-kerberos5' '--with-gpm' '--with-dbus' '--build=i686-pc-linux-gnu' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CC=i686-pc-linux-gnu-gcc' 'CFLAGS=-march=pentium3 -O2 -Wno-error' 'LDFLAGS= -Wl,--as-needed '
 '

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: C
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: C
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  show-paren-mode: t
  display-time-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t

Recent input:
M-x r e p o r <tab> <return>

Recent messages:
Loading /usr/share/emacs/site-lisp/site-gentoo.d/51boxquote-gentoo.el (source)...done
Loading /usr/share/emacs/site-lisp/site-gentoo.d/60auctex-gentoo.el (source)...done
Loading /usr/share/emacs/site-lisp/70emacs-w3m-gentoo.el (source)...done
Loading /usr/share/emacs/site-lisp/site-gentoo.d/70ngnus-gentoo.el (source)...done
Loading /usr/share/emacs/site-lisp/site-gentoo.d/70svn-gentoo.el (source)...done
Loading /usr/share/emacs/site-lisp/70xrdb-mode-gentoo.el (source)...done
Loading delsel...done
Loading time...done
Loading paren...done
For information about GNU Emacs and the GNU system, type C-h C-a.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-04 22:20 23.0.60; SEGV in font_score() James Cloos
@ 2008-06-05  5:58 ` Kenichi Handa
  2008-06-05 18:16   ` James Cloos
  2008-06-06  5:48   ` James Cloos
  0 siblings, 2 replies; 10+ messages in thread
From: Kenichi Handa @ 2008-06-05  5:58 UTC (permalink / raw)
  To: James Cloos; +Cc: emacs-pretest-bug

In article <m3lk1kkfk2.fsf@lugabout.jhcloos.org>, James Cloos <cloos@jhcloos.com> writes:

> Since upgrading from an early May CVS tip to this past weekend's tip
> I've had Emacs crash four times.  I attached gdb and caught the most
> recent one.  The backtrace is:

> [Switching to Thread 0xb73a96c0 (LWP 13397)]
> 0x081847bb in font_score ()
> (gdb) where
> #0  0x081847bb in font_score ()
[...]
> (As you can see, my default compile is with -O2 and no -g options.)

> Every crash has occured when displaying gnus' *Article* buffer with a
> new message.  This last time the only difference from the default font
> choices is the resource 'emacs.font: DejaVu Sans Mono:pixelsize=14'.

I can't reproduce it.  Please find a precise recipe to
reproduce the bug, or compile font.c with -g and find
exactly where in font_score Emacs crashes.

---
Kenichi Handa
handa@ni.aist.go.jp




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-05  5:58 ` Kenichi Handa
@ 2008-06-05 18:16   ` James Cloos
  2008-06-06  5:48   ` James Cloos
  1 sibling, 0 replies; 10+ messages in thread
From: James Cloos @ 2008-06-05 18:16 UTC (permalink / raw)
  To: emacs-pretest-bug; +Cc: Kenichi Handa

>>>>> "Handa" == Kenichi Handa <handa@m17n.org> writes:

Handa> I can't reproduce it.  Please find a precise recipe to
Handa> reproduce the bug, or compile font.c with -g and find
Handa> exactly where in font_score Emacs crashes.

I upgraded again and am waiting for it to happen again....

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-05  5:58 ` Kenichi Handa
  2008-06-05 18:16   ` James Cloos
@ 2008-06-06  5:48   ` James Cloos
  2008-06-06 21:08     ` James Cloos
  1 sibling, 1 reply; 10+ messages in thread
From: James Cloos @ 2008-06-06  5:48 UTC (permalink / raw)
  To: emacs-pretest-bug; +Cc: Kenichi Handa

Here is a bt full from a compile with -ggdb.

The SEGV happens on the:

	if (xstrcasecmp (SDATA (spec_str), SDATA (entity_str)))

line of font_score(), with i=2, which I presume is FONT_FAMILY_INDEX.

So, either SYMBOL_NAME (AREF (entity, 2)) or SYMBOL_NAME (spec_prop[2])
is returning something which SDATA() cannot dereference, yes?

I have to recompile again (I forgot to drop the -O2), but I seem to have
a message which triggers the crash every time.  Unfortunately, starting
gnus takes almost as long as recompiling emacs.....

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-06  5:48   ` James Cloos
@ 2008-06-06 21:08     ` James Cloos
  2008-06-07 18:49       ` James Cloos
  0 siblings, 1 reply; 10+ messages in thread
From: James Cloos @ 2008-06-06 21:08 UTC (permalink / raw)
  To: emacs-pretest-bug; +Cc: Kenichi Handa

Argh.  Here is the bt:

(gdb) bt full
#0  0x0818489b in font_score (entity=<value optimized out>, spec_prop=0xbf916838, alternate_families=137799881) at font.c:1990
	score = 0
	i = 2
#1  0x081870f5 in font_sort_entites (vec=187952292, prefer=138572348, frame=<value optimized out>, spec=144735508, best_only=1) at font.c:2126
	prefer_prop = {1, 143483321, 140643065, 137799881, 137799881, 205440, 409984, 205312, 112, 137799881, 137799881, 143975264, 13518484}
	len = 4358
	i = 753
	data = (struct font_sort_data *) 0xb3917c0
	alternate_families = 137799881
	best_score = 101
	best_entity = 189485428
	sa_must_free = 1
#2  0x0818983e in font_find_for_lface (f=0x8c8d910, attrs=0xa816308, spec=144735508, c=-1) at font.c:2893
	prefer = 138572348
	frame = 147380500
	entities = 187952292
	val = <value optimized out>
	props = {180278784, 147380496, -1080989464, 135804599, 180278788}
	size = 137799881
	pixel_size = 14
	i = <value optimized out>
	result = <value optimized out>
#3  0x080f0b9f in fontset_find_font (fontset=166932972, c=4194281, face=0xa8162c8, id=0, fallback=1) at fontset.c:603
	font_def = <value optimized out>
	font_entity = <value optimized out>
	font_object = <value optimized out>
	base_fontset = <value optimized out>
	elt = 166306452
	vec = <value optimized out>
	i = 20
	from = 2097630
	to = 4194303
	f = (FRAME_PTR) 0x8c8d910
#4  0x080f0e5f in fontset_font (fontset=177740820, c=4194281, face=0xa8162c8, id=-1) at fontset.c:705
	rfont_def = 137799881
#5  0x080f0fdb in face_for_char (f=0x8c8d910, face=0xa8162c8, c=4194281, pos=283, object=137799881) at fontset.c:922
	val = <value optimized out>
	charset = -1
	fontset = 177740820
	rfont_def = <value optimized out>
	face_id = <value optimized out>
	id = -1
#6  0x08185131 in font_range (pos=283, limit=306, face=0xa8162c8, f=0x8c8d910, string=137799881) at font.c:3350
	ptr = <value optimized out>
	len = 2
	face_id = <value optimized out>
	multibyte = <value optimized out>
	pos_byte = 285
	c = <value optimized out>
	font = (struct font *) 0x8a115f0
	first = 0
#7  0x0807f412 in handle_auto_composed_prop (it=0xbf916ff4) at xdisp.c:4642
	args = {0, 257, -1080987500, -1080989000, 0}
	val = <value optimized out>
	pos = 257
	limit = 306
#8  0x08075abc in handle_stop (it=0xbf916ff4) at xdisp.c:3074
	handled = 140643064
	handle_overlay_change_p = 1
	p = (struct props *) 0x81ec050
#9  0x0807a54d in next_element_from_buffer (it=0xbf916ff4) at xdisp.c:6469
	p = <value optimized out>
	success_p = <value optimized out>
#10 0x0807817d in get_next_display_element (it=0xbf916ff4) at xdisp.c:5727
	gc = <value optimized out>
	face_id = 141886514
	lface_id = <value optimized out>
	escape_glyph = -1080987660
	dv = <value optimized out>
	success_p = -1080987660
#11 0x0807d4a6 in display_line (it=0xbf916ff4) at xdisp.c:16258
	i = 182425628
	nglyphs = 0
	ascent = 0
	phys_ascent = 0
	hpos_before = 0
	x = 0
	descent = 0
	phys_descent = 0
	row = (struct glyph_row *) 0xaf1c2b0
	overlay_arrow_string = <value optimized out>
#12 0x08086a1f in try_window (window=167688284, pos={charpos = 1, bytepos = 1}, check_margins=1) at xdisp.c:13838
	w = (struct window *) 0x9feb858
	it = {
  window = 167688284, 
  w = 0x9feb858, 
  f = 0x8c8d910, 
  method = GET_FROM_BUFFER, 
  stop_charpos = 257, 
  end_charpos = 1417, 
  s = 0x0, 
  string_nchars = 0, 
  region_beg_charpos = -1, 
  region_end_charpos = -1, 
  redisplay_end_trigger_charpos = 0, 
  multibyte_p = 1, 
  header_line_p = 0, 
  string_from_display_prop_p = 0, 
  ellipsis_p = 0, 
  dp = 0x9e47e40, 
  dpvec = 0x0, 
  dpend = 0x0, 
  dpvec_char_len = 0, 
  dpvec_face_id = 0, 
  saved_face_id = 0, 
  ctl_chars = {0 <repeats 16 times>}, 
  start = {
    pos = {
      charpos = 257, 
      bytepos = 258
    }, 
    overlay_string_index = -1, 
    string_pos = {
      charpos = -1, 
      bytepos = -1
    }, 
    dpvec_index = -1
  }, 
  current = {
    pos = {
      charpos = 257, 
      bytepos = 258
    }, 
    overlay_string_index = -1, 
    string_pos = {
      charpos = -1, 
      bytepos = -1
    }, 
    dpvec_index = -1
  }, 
  n_overlay_strings = 0, 
  overlay_strings = {0 <repeats 16 times>}, 
  string_overlays = {0 <repeats 16 times>}, 
  string = 137799881, 
  from_overlay = 0, 
  stack = {{
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }, {
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }, {
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }, {
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }}, 
  sp = 0, 
  selective = 0, 
  what = IT_CHARACTER, 
  face_id = 26, 
  selective_display_ellipsis_p = 1, 
  ctl_arrow_p = 1, 
  truncate_lines_p = 0, 
  face_box_p = 0, 
  start_of_box_run_p = 0, 
  end_of_box_run_p = 0, 
  overlay_strings_at_end_processed_p = 0, 
  ignore_overlay_strings_at_pos_p = 0, 
  glyph_not_available_p = 0, 
  starts_in_middle_of_char_p = 0, 
  face_before_selective_p = 0, 
  constrain_row_ascent_descent_p = 0, 
  base_face_id = 0, 
  c = 0, 
  len = 1, 
  cmp_id = 0, 
  cmp_len = 0, 
  char_to_display = 32, 
  image_id = 0, 
  slice = {
    x = 137799881, 
    y = 137799881, 
    width = 137799881, 
    height = 137799881
  }, 
  space_width = 137799881, 
  voffset = 0, 
  font_height = 137799881, 
  object = 170521964, 
  position = {
    charpos = 256, 
    bytepos = 257
  }, 
  tab_width = 8, 
  truncation_pixel_width = 0, 
  continuation_pixel_width = 0, 
  first_visible_x = 0, 
  last_visible_x = 1560, 
  last_visible_y = 816, 
  extra_line_spacing = 0, 
  max_extra_line_spacing = 0, 
  override_ascent = -1, 
  override_descent = 0, 
  override_boff = 0, 
  glyph_row = 0xaf1c2b0, 
  area = TEXT_AREA, 
  nglyphs = 1, 
  pixel_width = 8, 
  ascent = 13, 
  descent = 4, 
  max_ascent = 0, 
  max_descent = 0, 
  phys_ascent = 0, 
  phys_descent = 0, 
  max_phys_ascent = 0, 
  max_phys_descent = 0, 
  current_x = 0, 
  continuation_lines_width = 0, 
  current_y = 153, 
  first_vpos = 0, 
  vpos = 9, 
  hpos = 0, 
  left_user_fringe_bitmap = 0, 
  right_user_fringe_bitmap = 0, 
  left_user_fringe_face_id = 0, 
  right_user_fringe_face_id = 0
}
	last_text_row = (struct glyph_row *) 0xaf1c218
#13 0x0808816b in redisplay_window (window=167688284, just_this_one_p=0) at xdisp.c:13291
	new_vpos = <value optimized out>
	val = <value optimized out>
	w = (struct window *) 0x9feb858
	f = <value optimized out>
	buffer = <value optimized out>
	old = (struct buffer *) 0xa342c08
	startp = {
  charpos = 1, 
  bytepos = 1
}
	update_mode_line = 1
	tem = <value optimized out>
	it = {
  window = 147485948, 
  w = 0x8ca74f8, 
  f = 0x8c8d910, 
  method = GET_FROM_BUFFER, 
  stop_charpos = 7996, 
  end_charpos = 8673, 
  s = 0x0, 
  string_nchars = 0, 
  region_beg_charpos = -1, 
  region_end_charpos = -1, 
  redisplay_end_trigger_charpos = 0, 
  multibyte_p = 1, 
  header_line_p = 1, 
  string_from_display_prop_p = 0, 
  ellipsis_p = 0, 
  dp = 0x9e8f040, 
  dpvec = 0x0, 
  dpend = 0x0, 
  dpvec_char_len = 0, 
  dpvec_face_id = 0, 
  saved_face_id = -1, 
  ctl_chars = {0 <repeats 16 times>}, 
  start = {
    pos = {
      charpos = 8582, 
      bytepos = 8619
    }, 
    overlay_string_index = -1, 
    string_pos = {
      charpos = -1, 
      bytepos = -1
    }, 
    dpvec_index = -1
  }, 
  current = {
    pos = {
      charpos = 7996, 
      bytepos = 8032
    }, 
    overlay_string_index = -1, 
    string_pos = {
      charpos = -1, 
      bytepos = -1
    }, 
    dpvec_index = -1
  }, 
  n_overlay_strings = 0, 
  overlay_strings = {0 <repeats 16 times>}, 
  string_overlays = {0 <repeats 16 times>}, 
  string = 137799881, 
  from_overlay = 0, 
  stack = {{
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }, {
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }, {
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }, {
      string = 0, 
      string_nchars = 0, 
      end_charpos = 0, 
      stop_charpos = 0, 
      face_id = 0, 
      u = {
        image = {
          object = 0, 
          slice = {
            x = 0, 
            y = 0, 
            width = 0, 
            height = 0
          }, 
          image_id = 0
        }, 
        comp = {
          object = 0, 
          c = 0, 
          len = 0, 
          cmp_id = 0, 
          cmp_len = 0
        }, 
        stretch = {
          object = 0
        }
      }, 
      position = {
        charpos = 0, 
        bytepos = 0
      }, 
      current = {
        pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        overlay_string_index = 0, 
        string_pos = {
          charpos = 0, 
          bytepos = 0
        }, 
        dpvec_index = 0
      }, 
      from_overlay = 0, 
      area = LEFT_MARGIN_AREA, 
      method = GET_FROM_BUFFER, 
      multibyte_p = 0, 
      string_from_display_prop_p = 0, 
      display_ellipsis_p = 0, 
      space_width = 0, 
      font_height = 0, 
      voffset = 0
    }}, 
  sp = 0, 
  selective = -1, 
  what = IT_CHARACTER, 
  face_id = 14, 
  selective_display_ellipsis_p = 1, 
  ctl_arrow_p = 1, 
  truncate_lines_p = 1, 
  face_box_p = 0, 
  start_of_box_run_p = 0, 
  end_of_box_run_p = 0, 
  overlay_strings_at_end_processed_p = 0, 
  ignore_overlay_strings_at_pos_p = 0, 
  glyph_not_available_p = 0, 
  starts_in_middle_of_char_p = 0, 
  face_before_selective_p = 0, 
  constrain_row_ascent_descent_p = 0, 
  base_face_id = 0, 
  c = 32, 
  len = 0, 
  cmp_id = 0, 
  cmp_len = 0, 
  char_to_display = 0, 
  image_id = 0, 
  slice = {
    x = 137799881, 
    y = 137799881, 
    width = 137799881, 
    height = 137799881
  }, 
  space_width = 137799881, 
  voffset = 0, 
  font_height = 137799881, 
  object = 171191308, 
  position = {
    charpos = 7996, 
    bytepos = 8032
  }, 
  tab_width = 8, 
  truncation_pixel_width = 0, 
  continuation_pixel_width = 0, 
  first_visible_x = 0, 
  last_visible_x = 1560, 
  last_visible_y = 255, 
  extra_line_spacing = 0, 
  max_extra_line_spacing = 0, 
  override_ascent = -1, 
  override_descent = 0, 
  override_boff = 0, 
  glyph_row = 0x0, 
  area = TEXT_AREA, 
  nglyphs = 0, 
  pixel_width = 0, 
  ascent = 0, 
  descent = 0, 
  max_ascent = 0, 
  max_descent = 0, 
  phys_ascent = 0, 
  phys_descent = 0, 
  max_phys_ascent = 0, 
  max_phys_descent = 0, 
  current_x = 0, 
  continuation_lines_width = 0, 
  current_y = 136, 
  first_vpos = 0, 
  vpos = -7, 
  hpos = 0, 
  left_user_fringe_bitmap = 0, 
  right_user_fringe_bitmap = 0, 
  left_user_fringe_face_id = 0, 
  right_user_fringe_face_id = 0
}
	current_matrix_up_to_date_p = 0
	used_current_matrix_p = <value optimized out>
	buffer_unchanged_p = 0
	temp_scroll_step = <value optimized out>
	rc = -1214821666
	centering_position = <value optimized out>
	last_line_misfit = <value optimized out>
	beg_unchanged = -1
	end_unchanged = 0
#14 0x0808a093 in redisplay_window_0 (window=167688284) at xdisp.c:12047
No locals.
#15 0x081749b8 in internal_condition_case_1 (bfun=0x808a070 <redisplay_window_0>, arg=167688284, handlers=137786933, hfun=0x80666d0 <redisplay_window_error>) at eval.c:1559
	val = <value optimized out>
	c = {
  tag = 137799881, 
  val = 137799881, 
  next = 0xbf9191ec, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {167688280, 143966064, 0, -1080982232, 1121299870, 1330629361}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {0, 141850376, 148662264, 141850380, 3213984952, 134693068, 148410538, 137932140, 1, 1, 137799905, 268435456, 138487392, 137799881, 138486920, 141850380, 3213985000, 137861920, 137844346, 171191304, 3213985016, 135686561, 137861921, 137844346, 3200000, 171191304, 137799905, 282879992, 137844344, 137861921, 137861920, 3200000}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0xbf9192b4, 
  lisp_eval_depth = 0, 
  pdlcount = 4, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 137786933, 
  var = 137799881, 
  chosen_clause = 137799881, 
  tag = 0xbf91844c, 
  next = 0xbf9192b4
}
#16 0x08075fd7 in redisplay_windows (window=189395592) at xdisp.c:12026
	w = (struct window *) 0x9feb858
#17 0x08075f8a in redisplay_windows (window=189395592) at xdisp.c:12020
	w = (struct window *) 0xa519db8
#18 0x0808aab2 in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11592
	tail = <value optimized out>
	new_count = -1080981996
	w = (struct window *) 0x8ca74f8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	polling_stopped_here = 0
	old_frame = 147380500
	consider_all_windows_p = 1
#19 0x08119ed6 in read_char (commandflag=1, nmaps=4, maps=0xbf919020, prev_event=137799881, used_mouse_menu=0xbf9190b4, end_time=0x0) at keyboard.c:2685
	keys = 2
	key_count = <value optimized out>
	key_count_reset = 137756672
	saved_ok_to_echo = (struct kboard *) 0x88a67cb
	saved_echo_string = -1080979968
	c = 137799881
	local_getcjmp = {{
    __jmpbuf = {137799881, 141500122, 137799881, 171191308, -1080979720, 136030817}, 
    __mask_was_saved = 178739533, 
    __saved_mask = {
      __val = {137829241, 1, 141500122, 137799881, 141500122, 3213987816, 135722338, 178739533, 137829241, 171191308, 1, 141500122, 5050, 3107, 136030629, 138481617, 8672, 0, 171191308, 182095284, 8581, 3213987656, 136028280, 0, 8580, 3213987688, 136028501, 10086645, 1, 0, 0, 178740456}
    }
  }}
	save_jump = {{
    __jmpbuf = {136030629, 138481617, 8672, 0, 171191308, 182095284}, 
    __mask_was_saved = 8582, 
    __saved_mask = {
      __val = {3213987416, 136028280, 177858800, 5050, 3107, 136028501, 4263889, 8672, 0, 171191308, 182095284, 8581, 3213987464, 136028280, 138543881, 8580, 3213987496, 136028501, 1, 1, 137799881, 0, 178740456, 137799881, 3213987544, 136030629, 137829241, 178150941, 3213987552, 0, 1, 178739533}
    }
  }}
	key_already_recorded = 0
	tem = 0
	save = <value optimized out>
	previous_echo_area_message = 137799881
	also_record = 137799881
	reread = 0
	polling_stopped_here = <value optimized out>
	orig_kboard = (struct kboard *) 0x8ca32c8
#20 0x0811bf8d in read_key_sequence (keybuf=0xbf919154, bufsize=30, prompt=137799881, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9443
	interrupted_kboard = (KBOARD *) 0x8ca32c8
	key = 178150941
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 137799881
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 4
	nmaps_allocated = 4
	defs = (Lisp_Object * volatile) 0xbf919000
	submaps = (Lisp_Object * volatile) 0xbf919020
	orig_local_map = 149244085
	orig_keymap = 137799881
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 144038653, 
  map = 144038653, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 137793405, 
  map = 137793405, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 144038661, 
  map = 144038661, 
  start = 0, 
  end = 0
}
	shift_translated = 0
	delayed_switch_frame = 137799881
	original_uppercase = 138543785
	original_uppercase_position = -1
	starting_buffer = (struct buffer *) 0xa342c08
	fake_prefixed_keys = 137799881
#21 0x0811de29 in command_loop_1 () at keyboard.c:1651
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {104, 152, 112, 0, 0, -1214499504, -1215962684, 0, 0, -1207853088, -1080979048, -1080978812, -1472036457, 56, -1215947568, -1215952612, 0, 0, 0, 0, -1080979016, -1080979168, 0, 134479872, 137799881, 143656073, 0, 138843272, 138843256, -1080978984}
	i = <value optimized out>
	prev_modiff = 11019
	prev_buffer = (struct buffer *) 0xa342c08
	already_adjusted = 0
#22 0x08174bf2 in internal_condition_case (bfun=0x811dc90 <command_loop_1>, handlers=137843081, hfun=0x8118da0 <cmd_error>) at eval.c:1511
	val = <value optimized out>
	c = {
  tag = 137799881, 
  val = 137799881, 
  next = 0xbf919300, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 138843272, 138843256, -1080978744, 1124003230, 1330268913}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {3213988544, 3087128152, 134538382, 2822930839, 0, 0, 3213988204, 3087051132, 3213988256, 147963936, 138781380, 898864734, 3080467792, 3079004612, 5, 0, 3087114208, 3213988480, 3213988768, 1, 3087050051, 3079078227, 134539388, 3213988480, 3079035808, 3080467792, 2, 110932256, 3087126468, 3087128152, 1, 3213988560}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 137843081, 
  var = 137799881, 
  chosen_clause = 1, 
  tag = 0xbf9191ec, 
  next = 0x0
}
#23 0x081181be in command_loop_2 () at keyboard.c:1367
	val = 2400
#24 0x08174ccc in internal_catch (tag=137839057, func=0x8118190 <command_loop_2>, arg=137799881) at eval.c:1247
	c = {
  tag = 137839057, 
  val = 137799881, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 138843272, 138843256, -1080978488, 1123601822, 1329877745}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {0, 1, 0, 0, 0, 0, 3080467792, 3213988804, 0, 0, 0, 3213988864, 3087128152, 134539285, 479434334, 0, 0, 0, 0, 0, 138557248, 138553818, 137825728, 3213988792, 135686561, 138557249, 138553818, 137799881, 137825728, 137799905, 268435456, 138553816}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#25 0x08118bf9 in command_loop () at keyboard.c:1346
No locals.
#26 0x08118f57 in recursive_edit_1 () at keyboard.c:955
	val = <value optimized out>
#27 0x08119091 in Frecursive_edit () at keyboard.c:1017
	buffer = 137799881
#28 0x0810dcd2 in main (argc=1, argv=0xbf9197d4) at emacs.c:1770
	displayname = 0x0
	count_before = <value optimized out>
	dummy = -1080977624
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) 




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-06 21:08     ` James Cloos
@ 2008-06-07 18:49       ` James Cloos
  2008-06-08 11:25         ` Kenichi Handa
  0 siblings, 1 reply; 10+ messages in thread
From: James Cloos @ 2008-06-07 18:49 UTC (permalink / raw)
  To: emacs-pretest-bug; +Cc: Kenichi Handa

Compiled again, this time w/o -O2.

With -O2 entity got optimized out, so the crash was reported on line
1990:

        if (xstrcasecmp (SDATA (spec_str), SDATA (entity_str)))

but w/o -O2 it occurs a couple of lines up at:

        Lisp_Object entity_str = SYMBOL_NAME (AREF (entity, i));

Since I can only trigger this randomly while reading mail with gnus, and
since nnimap takes about an hour to start up, this is very fustrating to
debug.

I was able to convince the xpr macro in gdb to tell me that the first
element of entity is "xft", but I couldn't figure out how to get to the
next element.  Folling the next pointer led me to another vector with
the element a Lisp_Symbol "xft".  If I go on in VM and treat the next
octets as another struct List Vector I get the Lisp_Symbol "nil" and
then data which is clearly not another Lisp_Vector.

Any help (from anyone!) in figuring this out is most welcome.  What I
found in info and reading the .gdbinit was a good start, but I'm still
not quite there.)

(And do remember that a SEGV has been thrown, so pr doesn't work.  And
also that, since it is emacs I'm debugging, I'm not running gdb in emacs.)

Handa-san: I can provide a -ggdb core dump off list.  It looks to have
much more value than the dump I mentioned in the initial bug report.
(It is quite large, though.  More than 64 Megs uncompressed.)

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-07 18:49       ` James Cloos
@ 2008-06-08 11:25         ` Kenichi Handa
  2008-06-08 18:54           ` James Cloos
  0 siblings, 1 reply; 10+ messages in thread
From: Kenichi Handa @ 2008-06-08 11:25 UTC (permalink / raw)
  To: James Cloos; +Cc: emacs-pretest-bug, handa

In article <m3k5h1cc6m.fsf@lugabout.jhcloos.org>, James Cloos <cloos@jhcloos.com> writes:

> Compiled again, this time w/o -O2.
> With -O2 entity got optimized out, so the crash was reported on line
> 1990:

>         if (xstrcasecmp (SDATA (spec_str), SDATA (entity_str)))

> but w/o -O2 it occurs a couple of lines up at:

>         Lisp_Object entity_str = SYMBOL_NAME (AREF (entity, i));

Ah.

> Since I can only trigger this randomly while reading mail with gnus, and
> since nnimap takes about an hour to start up, this is very fustrating to
> debug.

> I was able to convince the xpr macro in gdb to tell me that the first
> element of entity is "xft",

Hmmm, then it seems that at least entity is a correct
font-entity object.  So, perhaps the 2nd element (you wrote
that `i' was 2) of it was set to something other than symbol.

> but I couldn't figure out how to get to the
> next element.

I've just installed a new gdb function xfont of .gdbinit.
With that, you can do something like this:

(gdb) p entity
$1 = 147592732
(gdb) xfont
$2 = (struct font_entity *) 0x8cc1618
(gdb) p $2->props[FONT_FAMILY_INDEX]
$3 = 148609265
(gdb) xtype
Lisp_Symbol

> Handa-san: I can provide a -ggdb core dump off list.  It looks to have
> much more value than the dump I mentioned in the initial bug report.
> (It is quite large, though.  More than 64 Megs uncompressed.)

I think that kind of dump doesn't help that much because the
problem is in Lisp object.  If you still keep that gdb
session, please try above (after you get the new .gdbinit
from the CVS repository, and do "(gdb) source .gdbinit").
 
And also this will help.

(gdb) up 2
#2  0x081e64d7 in font_find_for_lface (f=0x84e5300, attrs=0x89ea6f8, spec=147460412, c=-1) at font.c:2893
(gdb) pr spec
(gdb) pr prefer

---
Kenichi Handa
handa@ni.aist.go.jp




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-08 11:25         ` Kenichi Handa
@ 2008-06-08 18:54           ` James Cloos
  2008-06-09 20:08             ` James Cloos
  0 siblings, 1 reply; 10+ messages in thread
From: James Cloos @ 2008-06-08 18:54 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: emacs-pretest-bug

>>>>> "Handa" == Kenichi Handa <handa@m17n.org> writes:

>> I was able to convince the xpr macro in gdb to tell me that the first
>> element of entity is "xft",

Handa> Hmmm, then it seems that at least entity is a correct
Handa> font-entity object.  So, perhaps the 2nd element (you wrote
Handa> that `i' was 2) of it was set to something other than symbol.

Yes.  If the elements of entity are laid out in order in VM as an array
of struct Lisp_Vector then after "xft" comes a Lisp_Symbol "nil" and
then a Lisp_Float which xpr cannot dereference; the (alleged) pointer
it tries to deref is at 0x4020000e.  Otherwise, ....

Handa> I've just installed a new gdb function xfont of .gdbinit.
Handa> With that, you can do something like this:

Handa> (gdb) p entity
Handa> $1 = 147592732
Handa> (gdb) xfont
Handa> $2 = (struct font_entity *) 0x8cc1618
Handa> (gdb) p $2->props[FONT_FAMILY_INDEX]
Handa> $3 = 148609265
Handa> (gdb) xtype
Handa> Lisp_Symbol

I'll give that a try.

Handa> And also this will help.

Handa> (gdb) up 2
Handa> #2  0x081e64d7 in font_find_for_lface (f=0x84e5300, attrs=0x89ea6f8, spec=147460412, c=-1) at font.c:2893
Handa> (gdb) pr spec
Handa> (gdb) pr prefer

(from the core I offered:)

(gdb) up 2
#6  0x08210a36 in font_find_for_lface (f=0x8cb2740, attrs=0xa773f98, spec=147711324, c=-1)
    at font.c:2893
2893	      entities = font_sort_entites (entities, prefer, frame, spec, c < 0);
(gdb) pr spec
Cannot access memory at address 0x83c63d0
(gdb) pr prefer
Cannot access memory at address 0x83c63d0
(gdb) 

So I tried:

(gdb) p spec
$35 = 147711324
(gdb) xvector
$36 = (struct Lisp_Vector *) 0x8cde558
0
(gdb) p {struct Lisp_Vector}0x8cde558
$37 = {
  size = 1075838989, 
  next = 0x84fa938, 
  contents = {138488009}
}
(gdb) p {Lisp_Object}0x8cde560
$38 = 138488009
(gdb) xpr
Lisp_Symbol
$39 = (struct Lisp_Symbol *) 0x84128c8
"nil"
(gdb)

(gdb) p prefer
$40 = 138734020
(gdb) xvector
$41 = (struct Lisp_Vector *) 0x844e9c0
0
(gdb) p {struct Lisp_Vector}0x844e9c0
$42 = {
  size = 1075838989, 
  next = 0x844e960, 
  contents = {138488009}
}
(gdb) p {Lisp_Object}0x844e9c8
$43 = 138488009
(gdb) xpr
Lisp_Symbol
$44 = (struct Lisp_Symbol *) 0x84128c8
"nil"
(gdb) 

I hope I got that right.

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-08 18:54           ` James Cloos
@ 2008-06-09 20:08             ` James Cloos
  2008-06-10  2:09               ` Kenichi Handa
  0 siblings, 1 reply; 10+ messages in thread
From: James Cloos @ 2008-06-09 20:08 UTC (permalink / raw)
  To: Kenichi Handa; +Cc: emacs-pretest-bug

OK.  That was exactly what I needed.

The non-symbol family was an int.  300.

And I found this in fc-list:

:; fc-list 300 file family
/home/cloos/.fonts/Urdu/Nafees_Pakistani_Naskh.ttf: 300,Nafees Pakistani Naskh
/home/cloos/.fonts/Urdu/nafees_naskh.ttf: 300,Nafees Naskh
:; fc-cat ~/.fonts/Urdu|grep 300
"Nafees_Pakistani_Naskh.ttf" 0 "300,Nafees Pakistani Naskh:familylang=en,en
 :style=Regular:stylelang=en:fullname=Nafees Pakistani Naskh:fullnamelang=en
 :slant=0:weight=80:width=100:foundry=unknown:index=0:outline=True:scalable=True
 :charset=<elided>:lang=:fontversion=131072:capability=otlayout\\:arab
 :fontformat=TrueType:decorative=False"
"nafees_naskh.ttf" 0 "300,Nafees Naskh:familylang=en,en:style=Regular
 :stylelang=en:fullname=Nafees Naskh:fullnamelang=en:slant=0:weight=80
 :width=100:foundry=unknown:index=0:outline=True:scalable=True
 :charset=<elided>:lang=:fontversion=131072:capability=otlayout\\:arab
 :fontformat=TrueType:decorative=False"

Those two fonts came from www.crulp.org and, as you can guess from where
I saved them, target Urdu.  Based on the filesystem dates, they've been
in my .fonts for more than 3 years.

I couldn't find a link to either of them on their current site, so I
grabbed their current fonts and moved those two out of the way.

In short, Emacs stored the family name as an int instead of as a symbol
if it happened to be composed on only ascii digits.

I suspect the name 300 is a bug in the fonts, but you'll probably have
to defend against such possibilities anyway.

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: 23.0.60; SEGV in font_score()
  2008-06-09 20:08             ` James Cloos
@ 2008-06-10  2:09               ` Kenichi Handa
  0 siblings, 0 replies; 10+ messages in thread
From: Kenichi Handa @ 2008-06-10  2:09 UTC (permalink / raw)
  To: James Cloos; +Cc: emacs-pretest-bug

In article <m3fxrms74e.fsf@lugabout.jhcloos.org>, James Cloos <cloos@jhcloos.com> writes:

> In short, Emacs stored the family name as an int instead of as a symbol
> if it happened to be composed on only ascii digits.

> I suspect the name 300 is a bug in the fonts, but you'll probably have
> to defend against such possibilities anyway.

Ah!  Thank you for tracking down the problem.  I've just
installed a fix.

---
Kenichi Handa
handa@ni.aist.go.jp




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-06-10  2:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-04 22:20 23.0.60; SEGV in font_score() James Cloos
2008-06-05  5:58 ` Kenichi Handa
2008-06-05 18:16   ` James Cloos
2008-06-06  5:48   ` James Cloos
2008-06-06 21:08     ` James Cloos
2008-06-07 18:49       ` James Cloos
2008-06-08 11:25         ` Kenichi Handa
2008-06-08 18:54           ` James Cloos
2008-06-09 20:08             ` James Cloos
2008-06-10  2:09               ` Kenichi Handa

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).