Subject: 24.3.50; Face related crash in current trunk

From: martin rudalics <[email-masked]>
Date: Tue, 22 Oct 2013 20:20:19 +0200

With emacs -Q I evaluated the following form:

(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
  '(default ((t (:stipple nil :background "grey92" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 98 :width normal :foundry "outline" :family "Courier New"))))
  '(buffer-menu-buffer ((t (:weight normal))))
  '(button ((t (:background "#D8D0C8" :foreground "darkblue" :box (:line-width 2 :color "grey72")))))
  '(custom-button ((((type x w32 mac) (class color)) (:inherit highlight))))
  '(custom-button-mouse ((((type x w32 mac) (class color)) (:inherit custom-button :background "cornsilk3"))))
  '(custom-button-pressed ((((type x w32 mac) (class color)) (:inherit highlight :box (:line-width 2 :style pressed-button)))))
  '(custom-comment ((((class grayscale color) (background light)) (:inherit widget-field :foreground "darkgreen4"))))
  '(custom-comment-tag ((((class color) (background light)) nil)))
  '(custom-documentation ((t (:foreground "darkgreen4"))))
  '(custom-face-tag ((t (:inherit nil :foreground "magenta4" :weight bold :height 1.2))))
  '(custom-group-tag ((t (:inherit variable-pitch :foreground "red4" :weight bold :height 1.1))))
  '(custom-group-tag-1 ((t (:inherit variable-pitch :foreground "red4" :weight bold :height 1.4))))
  '(custom-link ((((min-colors 88) (class color) (background light)) (:inherit button))))
  '(custom-state ((((class color) (background light)) (:foreground "brown4" :slant italic))))
  '(custom-variable-tag ((t (:inherit nil :foreground "blue4" :weight bold :height 1.2))))
  '(custom-visibility ((t (:inherit button))))
  '(diff-added ((t (:background "chartreuse1"))))
  '(diff-removed ((t (:background "tomato1"))))
  '(ediff-current-diff-A ((t (:background "tomato1" :foreground "black"))))
  '(ediff-current-diff-B ((t (:background "chartreuse1" :foreground "black"))))
  '(ediff-fine-diff-A ((t (:background "red1" :foreground "black"))))
  '(ediff-fine-diff-B ((t (:background "green1" :foreground "black"))))
  '(eldoc-highlight-function-argument ((t (:foreground "red"))))
  '(eldoc-highlight-unsupplied-argument ((t (:inherit font-lock-string-face))))
  '(font-lock-comment-face ((((class color) (background light)) (:background "Beige" :foreground "Black"))))
  '(font-lock-constant-face ((t (:foreground "Dark Cyan"))))
  '(font-lock-doc-face ((t (:inherit font-lock-string-face :background "grey96"))))
  '(font-lock-function-name-face ((t (:foreground "red3"))))
  '(font-lock-keyword-face ((t (:foreground "Blue3"))))
  '(font-lock-regexp-grouping-backslash ((t (:foreground "PaleGreen3"))))
  '(font-lock-string-face ((t (:foreground "green4"))))
  '(font-lock-type-face ((t (:foreground "SteelBlue"))))
  '(font-lock-variable-name-face ((t (:foreground "Magenta4"))))
  '(font-lock-warning-face ((t (:bold t :foreground "Red3"))))
  '(fringe ((t (:background "#D8D0C8"))))
  '(highlight ((t (:inherit button :box (:line-width 2 :style released-button)))))
  '(info-xref ((t (:foreground "blue4" :weight bold))))
  '(info-xref-visited ((t (:inherit (link-visited info-xref) :underline nil))))
  '(link ((((class color) (min-colors 88) (background light)) (:foreground "blue1"))))
  '(mode-line ((t (:background "#000040" :foreground "wheat" :box (:line-width 2 :color "#000040") :weight bold :family "Verdana"))))
  '(mode-line-buffer-id ((t nil)))
  '(mode-line-highlight ((nil (:inverse-video t))))
  '(mode-line-inactive ((t (:inherit mode-line :background "grey48" :foreground "wheat" :box (:line-width 2 :color "#000040")))))
  '(region ((t (:background "#000040" :foreground "grey92"))))
  '(scroll-restore-region ((t (:background "lightcyan3"))))
  '(tooltip ((t (:inherit default))))
  '(trailing-whitespace ((t (:background "goldenrod"))))
  '(variable-pitch ((t (:family "Sans Serif"))))
  '(vertical-border ((t (:foreground "red"))))
  '(widget-button ((t (:inherit button))))
  '(widget-button-pressed ((((min-colors 88) (class color)) (:inherit button :box (:line-width 2 :color "grey75" :style pressed-button)))))
  '(widget-field ((((class grayscale color) (background light)) (:background "gray86" :box (:line-width 1 :color "grey75" :style pressed-button)))))
  '(widget-single-line-field ((((class grayscale color) (background light)) (:background "gray86" :box (:line-width 1 :color "grey75" :style pressed-button)))))
  '(window-divider ((t (:foreground "dark olive green"))) t))

Then I typed C-h a and moved my mouse around the window.  The backtrace
I eventually obtained is:

#0  terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at emacs.c:350
#1  0x01151496 in die (msg=0x146e018 "((((struct vectorlike_header *) ((void *) ((font_object) - (Lisp_Vectorlike)))) ->size) & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK)) == (PSEUDOVECTOR_FLAG | (PVEC_FONT << PSEUDOVECTOR_AREA_BITS))", file=0x146d0b0 "xfaces.c", line=5261) at alloc.c:6670
#2  0x010d7ab0 in realize_default_face (f=0x3c2f770) at xfaces.c:5261
#3  0x010d781b in realize_basic_faces (f=0x3c2f770) at xfaces.c:5202
#4  0x010d71b3 in Fdisplay_supports_face_attributes_p (attributes=19492422, display=63108981) at xfaces.c:5021
#5  0x0116f1eb in Ffuncall (nargs=3, args=0x82b924) at eval.c:2792
#6  0x011af45f in exec_byte_code (bytestr=19486289, vector=19486309, maxdepth=20, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#7  0x0116fd63 in funcall_lambda (fun=19486261, nargs=2, arg_vector=0x1295665) at eval.c:3023
#8  0x0116f3f9 in Ffuncall (nargs=3, args=0x82bc54) at eval.c:2838
#9  0x011af45f in exec_byte_code (bytestr=19486529, vector=19486549, maxdepth=16, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#10 0x0116fd63 in funcall_lambda (fun=19486501, nargs=2, arg_vector=0x1295755) at eval.c:3023
#11 0x0116f3f9 in Ffuncall (nargs=3, args=0x82bf84) at eval.c:2838
#12 0x011af45f in exec_byte_code (bytestr=19487433, vector=19487453, maxdepth=24, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#13 0x0116fd63 in funcall_lambda (fun=19487397, nargs=3, arg_vector=0x1295add) at eval.c:3023
#14 0x0116f3f9 in Ffuncall (nargs=4, args=0x82c2b4) at eval.c:2838
#15 0x011af45f in exec_byte_code (bytestr=19487321, vector=19487341, maxdepth=24, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#16 0x0116fd63 in funcall_lambda (fun=19487301, nargs=2, arg_vector=0x1295a6d) at eval.c:3023
#17 0x0116f3f9 in Ffuncall (nargs=3, args=0x82c5e4) at eval.c:2838
#18 0x011af45f in exec_byte_code (bytestr=19814761, vector=19814781, maxdepth=28, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#19 0x0116fd63 in funcall_lambda (fun=19814717, nargs=1, arg_vector=0x12e597d) at eval.c:3023
#20 0x0116f3f9 in Ffuncall (nargs=2, args=0x82c918) at eval.c:2838
#21 0x0116ecac in call1 (fn=56101250, arg1=63108981) at eval.c:2588
#22 0x010d3d33 in update_face_from_frame_parameter (f=0x3c2f770, param=56133898, new_value=59832369) at xfaces.c:3307
#23 0x011d96b3 in x_set_background_color (f=0x3c2f770, arg=59832369, oldval=61910321) at w32fns.c:1295
#24 0x01016150 in x_set_frame_parameters (f=0x3c2f770, alist=56100890) at frame.c:2752
#25 0x010153d1 in Fmodify_frame_parameters (frame=63108981, alist=56089902) at frame.c:2313
#26 0x010d3c29 in Finternal_set_lisp_face_attribute (face=56134018, attr=56101466, value=59832369, frame=63108981) at xfaces.c:3266
#27 0x0116f252 in Ffuncall (nargs=5, args=0x82cc04) at eval.c:2800
#28 0x011af45f in exec_byte_code (bytestr=19478289, vector=19478309, maxdepth=28, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#29 0x0116fd63 in funcall_lambda (fun=19478253, nargs=30, arg_vector=0x1293725) at eval.c:3023
#30 0x0116f3f9 in Ffuncall (nargs=31, args=0x82cf30) at eval.c:2838
#31 0x0116e6f0 in Fapply (nargs=4, args=0x82d0b8) at eval.c:2328
#32 0x0116f0b1 in Ffuncall (nargs=5, args=0x82d0b4) at eval.c:2770
#33 0x011af45f in exec_byte_code (bytestr=19487433, vector=19487453, maxdepth=24, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#34 0x0116fd63 in funcall_lambda (fun=19487397, nargs=3, arg_vector=0x1295add) at eval.c:3023
#35 0x0116f3f9 in Ffuncall (nargs=4, args=0x82d3e4) at eval.c:2838
#36 0x011af45f in exec_byte_code (bytestr=19487321, vector=19487341, maxdepth=24, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#37 0x0116fd63 in funcall_lambda (fun=19487301, nargs=2, arg_vector=0x1295a6d) at eval.c:3023
#38 0x0116f3f9 in Ffuncall (nargs=3, args=0x82d714) at eval.c:2838
#39 0x011af45f in exec_byte_code (bytestr=19490609, vector=19490637, maxdepth=12, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#40 0x011ae8c0 in Fbyte_code (bytestr=19490609, vector=19490637, maxdepth=12) at bytecode.c:482
#41 0x0116de69 in eval_sub (form=19490598) at eval.c:2165
#42 0x0116bf55 in internal_lisp_condition_case (var=56100890, bodyform=19490598, handlers=19317078) at eval.c:1300
#43 0x011b03a5 in exec_byte_code (bytestr=19490497, vector=19490517, maxdepth=24, args_template=56100890, nargs=0, args=0x0) at bytecode.c:1169
#44 0x0116fd63 in funcall_lambda (fun=19490469, nargs=2, arg_vector=0x12966d5) at eval.c:3023
#45 0x0116f3f9 in Ffuncall (nargs=3, args=0x82de14) at eval.c:2838
#46 0x0116ece6 in call2 (fn=56235634, arg1=63108981, arg2=56100890) at eval.c:2603
#47 0x011e1f37 in x_create_tip_frame (dpyinfo=0x1512e20, parms=61772958, text=61910369) at w32fns.c:5764
#48 0x011e2770 in Fx_show_tip (string=61910369, frame=56842325, parms=61772918, timeout=40, dx=20, dy=80) at w32fns.c:6015
#49 0x0116f2eb in Ffuncall (nargs=7, args=0x82e064) at eval.c:2810
#50 0x011af45f in exec_byte_code (bytestr=20114545, vector=20114573, maxdepth=28, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#51 0x011ae8c0 in Fbyte_code (bytestr=20114545, vector=20114573, maxdepth=28) at bytecode.c:482
#52 0x0116de69 in eval_sub (form=20114534) at eval.c:2165
#53 0x0116bf55 in internal_lisp_condition_case (var=56155306, bodyform=20114534, handlers=20114662) at eval.c:1300
#54 0x011b03a5 in exec_byte_code (bytestr=20114481, vector=20114501, maxdepth=12, args_template=56100890, nargs=0, args=0x0) at bytecode.c:1169
#55 0x0116fd63 in funcall_lambda (fun=20114437, nargs=2, arg_vector=0x132ec45) at eval.c:3023
#56 0x0116f3f9 in Ffuncall (nargs=3, args=0x82e764) at eval.c:2838
#57 0x011af45f in exec_byte_code (bytestr=20115713, vector=20115733, maxdepth=12, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#58 0x0116fd63 in funcall_lambda (fun=20115685, nargs=1, arg_vector=0x132f115) at eval.c:3023
#59 0x0116f3f9 in Ffuncall (nargs=2, args=0x82eb98) at eval.c:2838
#60 0x0116eb6c in run_hook_with_args (nargs=2, args=0x82eb98, funcall=0x116ee8d <Ffuncall>) at eval.c:2525
#61 0x0116e7c8 in Frun_hook_with_args_until_success (nargs=2, args=0x82eb98) at eval.c:2407
#62 0x0116f0b1 in Ffuncall (nargs=3, args=0x82eb94) at eval.c:2770
#63 0x011af45f in exec_byte_code (bytestr=19343465, vector=20114293, maxdepth=12, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#64 0x0116fd63 in funcall_lambda (fun=20114261, nargs=1, arg_vector=0x132eb75) at eval.c:3023
#65 0x0116f3f9 in Ffuncall (nargs=2, args=0x82efa8) at eval.c:2838
#66 0x0116e31b in Fapply (nargs=2, args=0x82efa8) at eval.c:2275
#67 0x0116f0b1 in Ffuncall (nargs=3, args=0x82efa4) at eval.c:2770
#68 0x011af45f in exec_byte_code (bytestr=19903049, vector=19903077, maxdepth=16, args_template=56100890, nargs=0, args=0x0) at bytecode.c:919
#69 0x011ae8c0 in Fbyte_code (bytestr=19903049, vector=19903077, maxdepth=16) at bytecode.c:482
#70 0x0116de69 in eval_sub (form=19903038) at eval.c:2165
#71 0x0116bf55 in internal_lisp_condition_case (var=58271130, bodyform=19903038, handlers=19903102) at eval.c:1300
#72 0x011b03a5 in exec_byte_code (bytestr=19902897, vector=19902917, maxdepth=20, args_template=56100890, nargs=0, args=0x0) at bytecode.c:1169
#73 0x0116fd63 in funcall_lambda (fun=19902877, nargs=1, arg_vector=0x12fb1c5) at eval.c:3023
#74 0x0116f3f9 in Ffuncall (nargs=2, args=0x82f6b8) at eval.c:2838
#75 0x0116ecac in call1 (fn=56146946, arg1=59490261) at eval.c:2588
#76 0x010e9331 in timer_check_2 (timers=61774814, idle_timers=56100890) at keyboard.c:4519
#77 0x010e941c in timer_check () at keyboard.c:4586
#78 0x010e7421 in readable_events (flags=1) at keyboard.c:3453
#79 0x010ecf9d in get_input_pending (flags=1) at keyboard.c:6756
#80 0x010f335c in detect_input_pending_run_timers (do_display=true) at keyboard.c:9881
#81 0x011b8f8c in wait_reading_process_output (time_limit=30, nsecs=0, read_kbd=-1, do_display=true, wait_for_cell=56100890, wait_proc=0x0, just_wait_proc=0) at process.c:4676
#82 0x0100da4f in sit_for (timeout=120, reading=true, display_option=1) at dispnew.c:5763
#83 0x010e5753 in read_char (commandflag=1, map=62612486, prev_event=56100890, used_mouse_menu=0x82fbc3, end_time=0x0) at keyboard.c:2815
#84 0x010f1af3 in read_key_sequence (keybuf=0x82fce0, bufsize=30, prompt=56100890, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9076
#85 0x010e28ba in command_loop_1 () at keyboard.c:1431
#86 0x0116c072 in internal_condition_case (bfun=0x10e253b <command_loop_1>, handlers=56155306, hfun=0x10e1dc4 <cmd_error>) at eval.c:1331
#87 0x010e21f0 in command_loop_2 (ignore=56100890) at keyboard.c:1158
#88 0x0116b635 in internal_catch (tag=56145210, func=0x10e21cc <command_loop_2>, arg=56100890) at eval.c:1097
#89 0x010e21aa in command_loop () at keyboard.c:1137
#90 0x010e1961 in recursive_edit_1 () at keyboard.c:776
#91 0x010e1b1d in Frecursive_edit () at keyboard.c:840
#92 0x010dfeb9 in main (argc=2, argv=0xa32838) at emacs.c:1581

Lisp Backtrace:
"display-supports-face-attributes-p" (0x82b928)
"face-spec-set-match-display" (0x82bc58)
"face-spec-choose" (0x82bf88)
"face-spec-set-2" (0x82c2b8)
"face-spec-recalc" (0x82c5e8)
"frame-set-background-mode" (0x82c91c)
"internal-set-lisp-face-attribute" (0x82cc08)
"set-face-attribute" (0x82cf34)
"apply" (0x82d0b8)
"face-spec-set-2" (0x82d3e8)
"face-spec-recalc" (0x82d718)
"byte-code" (0x82d9a0)
"face-set-after-frame-default" (0x82de18)
"x-show-tip" (0x82e068)
"byte-code" (0x82e300)
"tooltip-show" (0x82e768)
"tooltip-help-tips" (0x82eb9c)
"run-hook-with-args-until-success" (0x82eb98)
"tooltip-timeout" (0x82efac)
"apply" (0x82efa8)
"byte-code" (0x82f240)
"timer-event-handler" (0x82f6bc)

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
  of 2013-10-22 on MACHNO
Bzr revision: 114739 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
  `configure --prefix=/c/emacs/trunk --enable-checking=yes 'CFLAGS=-O0
  -g3''

Important settings:
   value of $LANG: ENU
   locale-coding-system: cp1252
   default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   tooltip-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<menu-bar> <help-menu> <send-emacs-bug-report>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win
w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp
files text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
w32notify w32 multi-tty emacs)

martin