emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs 23.1.93 pretest


From: Eli Zaretskii
Subject: Re: Emacs 23.1.93 pretest
Date: Sat, 27 Feb 2010 15:15:35 +0200

> From: Juanma Barranquero <address@hidden>
> Date: Sat, 27 Feb 2010 13:11:45 +0100
> Cc: address@hidden, address@hidden
> 
> w32uniscribe.c:676: Emacs fatal error: assertion failed: CONSP((rest))
> 
> Breakpoint 1, w32_abort () at w32fns.c:7345
> 7345      button = MessageBox (NULL,
> (gdb) bt
> #0  w32_abort () at w32fns.c:7345
> #1  0x0104d987 in die (msg=0x1663908 "assertion failed:
> CONSP((rest))", file=0x1662008 "w32uniscribe.c", line=676) at
> alloc.c:6259
> #2  0x01328ac7 in uniscribe_check_otf (font=0x88d630,
> otf_spec=21217310) at w32uniscribe.c:676
> #3  0x01321769 in font_matches_spec (type=4, font=0x88d448,
> spec=48831493, backend=48927794, logfont=0x88d630) at w32font.c:1313
> #4  0x01321a43 in add_font_entity_to_list (logical_font=0x88d630,
> physical_font=0x88d448, font_type=4, lParam=8968168) at w32font.c:1428
> #5  0x77561f91 in GDI32!D3DKMTGetDeviceState () from
> C:\Windows\syswow64\gdi32.dll
> #6  0x0088d630 in ?? ()
> #7  0x0088d448 in ?? ()
> #8  0x00000004 in ?? ()
> #9  0x0088d7e8 in ?? ()
> #10 0x00978d18 in ?? ()
> #11 0x00978d18 in ?? ()
> #12 0x00000001 in ?? ()
> #13 0x00000024 in ?? ()
> #14 0x0000001a in ?? ()
> #15 0x0000000a in ?? ()
> #16 0x00000004 in ?? ()
> #17 0x00000000 in ?? ()

Thanks.  I get a similar crash, but it isn't an assert violation.

  Program received signal SIGSEGV, Segmentation fault.
  0x0118191d in uniscribe_check_otf (font=0x3, otf_spec=44922882)
      at w32uniscribe.c:684
  684         features[1] = XCAR (rest);

otf_spec is nil in my case:

  (gdb) p otf_spec
  $1 = 44922882
  (gdb) xtype
  Lisp_Symbol
  (gdb) xsymbol
  $2 = (struct Lisp_Symbol *) 0x2ad7800
  "nil"

But then how come this defense in uniscribe_check_otf did not catch
it?

  /* Check the spec is in the right format.  */
  if (!CONSP (otf_spec) || Flength (otf_spec) < 3)
    return 0;

Some GC perhaps?

See below for the full backtrace.

Btw, what version of GDB are you using?  It seems like it has some
trouble showing a useful backtrace.  My GDB is 7.0; if you have
anything older, I recommend installing 7.0 from the MinGW site.

Here's my backtrace:

  Program received signal SIGSEGV, Segmentation fault.
  0x0118191d in uniscribe_check_otf (font=0x3, otf_spec=44922882)
      at w32uniscribe.c:684
  684         features[1] = XCAR (rest);
  (gdb) bt
  #0  0x0118191d in uniscribe_check_otf (font=0x3, otf_spec=44922882)
      at w32uniscribe.c:684
  #1  0x0117d640 in add_font_entity_to_list (logical_font=0x82ca7c,
      physical_font=0x82c894, font_type=4, lParam=8571968) at w32font.c:1313
  #2  0x77f3afb1 in GDI32!CreateFontA () from C:\WINDOWS\system32\gdi32.dll
  #3  0x77f345be in GetOutlineTextMetricsA () from C:\WINDOWS\system32\gdi32.dll
  #4  0x77f29f0b in GDI32!EnumFontFamiliesA ()
     from C:\WINDOWS\system32\gdi32.dll
  #5  0x77f3ead3 in GDI32!EnumFontFamiliesExA ()
     from C:\WINDOWS\system32\gdi32.dll
  #6  0x0117e5e3 in w32font_list_internal (frame=-8, font_spec=8806376,
      opentype_only=1) at w32font.c:760
  #7  0x01180476 in uniscribe_list (frame=3, font_spec=45038597)
      at w32uniscribe.c:81
  #8  0x010abe27 in font_list_entities (frame=50487301, spec=54573445)
      at font.c:2926
  #9  0x010ac51c in font_find_for_lface (f=0x3003922, attrs=0x307f740,
      spec=45035776, c=-1) at font.c:3487
  #10 0x010d6bb4 in fontset_find_font (fontset=50521093, c=4121,
      face=0x307f700, id=143, fallback=0) at fontset.c:636
  #11 0x010d7387 in fontset_font (fontset=50523141, c=4121, face=0x307f700,
      id=143) at fontset.c:756
  #12 0x010d7971 in font_for_char (face=0x307f700, c=4121, pos=49053658,
      object=3) at fontset.c:1049
  #13 0x010a8fa1 in font_range (pos=417, limit=0x82cfbc, w=0x1019,
      face=0x307f700, string=44922882) at font.c:3997
  #14 0x010e1206 in autocmp_chars (cft_element=417, charpos=416, bytepos=664,
      limit=432, win=0x3026c00, face=0x3, string=44922882) at composite.c:973
  #15 0x010e2722 in composition_reseat_it (cmp_it=0x82deb8, charpos=416,
      bytepos=664, endpos=3131, w=0x3026c00, face=0x3, string=44922882)
      at composite.c:1147
  #16 0x0101a59e in next_element_from_buffer (it=0x82db00) at xdisp.c:6532
  #17 0x01018552 in get_next_display_element (it=0x82db00) at xdisp.c:5675
  #18 0x0102397d in display_line (it=0x82db00) at xdisp.c:16570
  #19 0x01024ccd in try_window (window=50490373, pos=..., check_margins=1)
      at xdisp.c:14028
  #20 0x0102d5fd in redisplay_window (window=50490373, just_this_one_p=0)
      at xdisp.c:13651
  #21 0x0102e937 in redisplay_window_0 (window=50490373) at xdisp.c:12283
  #22 0x01009ed5 in internal_condition_case_1 (
      bfun=0x102e90d <redisplay_window_0>, arg=50490373, handlers=44907174,
      hfun=0x101e27c <redisplay_window_error>) at eval.c:1538
  #23 0x0101e049 in redisplay_windows (window=49053658) at xdisp.c:12262
  #24 0x01030765 in redisplay_internal (preserve_echo_area=3) at xdisp.c:11834
  #25 0x0105bed2 in read_char (commandflag=1, nmaps=3, maps=0x82fae0,
      prev_event=44922882, used_mouse_menu=0x82fb78, end_time=0x0)
      at keyboard.c:2727
  #26 0x0105e332 in read_key_sequence (keybuf=0x82fcb0, bufsize=30,
      prompt=44922882, dont_downcase_last=0, can_return_switch_frame=1,
      fix_current_buffer=1) at keyboard.c:9512
  #27 0x01060377 in command_loop_1 () at keyboard.c:1643
  #28 0x0100a16a in internal_condition_case (bfun=0x10601cd <command_loop_1>,
      handlers=44979418, hfun=0x1059fa1 <cmd_error>) at eval.c:1490
  #29 0x0105390a in command_loop_2 () at keyboard.c:1360
  #30 0x0100a09f in internal_catch (tag=3, func=0x10538e7 <command_loop_2>,
      arg=44922882) at eval.c:1226
  #31 0x01053717 in command_loop () at keyboard.c:1339
  #32 0x010537b0 in recursive_edit_1 () at keyboard.c:954
  #33 0x010538d1 in Frecursive_edit () at keyboard.c:1016
  #34 0x01002e2f in main (argc=2, argv=0xa32770) at emacs.c:1833
  (gdb)




reply via email to

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