Subject: bug#21428: 24.5; Crash of emacs on OS X, installed via homebrew cask

From: Rainer M Krug <[email-masked]>
Date: Fri, 25 Sep 2015 14:30:05 +0200

Rainer M Krug <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Rainer M Krug <[email-masked]>
>>> Cc: [email-masked],  [email-masked]
>>> Date: Fri, 25 Sep 2015 11:34:03 +0200
>>> 
>>> OK - new crash: I updated this morning from git and recompiled.
>>> 
>>> This time it is face #42 and it seems to be in the bar above the
>>> minibuffer (mode-line)??? The character look like mode-bar, but I can't
>>> see them anywhere.
>>
>> It's not a mode line: the characters come from a buffer, whereas they
>> come from strings.  Also, the number of characters is too small for a
>> mode line, and the beginning doesn't resemble a mode line.
>>
>> The "vpos=1" part here:
>>
>>> | #7 0x000000010000f902 in update_window_line (w=0x1020bfbe0,
>>> | vpos=1, mouse_face_overwritten_p=0x7fff5fbfbdc2) at dispnew.c:3854
>>
>> means this is the second (zero-based) screen line of some window.  It
>> looks like a mode spec at the beginning of some Org file:
>>
>>   #     -*- mode: org -*-
>>
>> Does that ring any bells?  Can you try recreating that window in a
>> live session, so we could see what face is #42?
>
> Found it - I only looked at visible tabs - not the non-visible ones.
>
> describe-face:
> ,----
> | Face: font-lock-comment-face (sample) (customize this face)
> | 
> | Documentation:
> | Font Lock mode face used to highlight comments.
> | 
> | Defined in ‘font-lock.el’.
> | 
> |            Family: unspecified
> |           Foundry: unspecified
> |             Width: unspecified
> |            Height: unspecified
> |            Weight: unspecified
> |             Slant: italic
> |        Foreground: #8D8D84
> | DistantForeground: unspecified
> |        Background: unspecified
> |         Underline: unspecified
> |          Overline: unspecified
> |    Strike-through: unspecified
> |               Box: unspecified
> |           Inverse: unspecified
> |           Stipple: unspecified
> |              Font: unspecified
> |           Fontset: unspecified
> |           Inherit: unspecified
> `----
>
>
> describe-text-properties
>
> ,----
> | Text content at position 17:
> | 
> | 
> | There are text properties here:
> |   face                 font-lock-comment-face
> |   font-lock-fontified  t
> |   fontified            t
> |   line-prefix          ""
> |   org-category         "EnergyBalance"
> |   wrap-prefix          ""
> | 
> | [back]
> `----
>
>>
>>> | (gdb) p f->face_cache->used
>>> | $1 = 31
>>
>> Hmmm, the same number 31 as in the previous crash.  Interesting.
>
> I can also add the next crash.
>
> ,----
> | xdisp.c:24333: Emacs fatal error: assertion failed: face != NULL
> | 
> | Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370
> | 370	  signal (sig, SIG_DFL);
> | (gdb) bt
> | #0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370
> | #1  0x00000001002256eb in die (msg=0x1003b680a "face != NULL", file=0x1003b24f0 "xdisp.c", line=24333) at alloc.c:6951
> | #2  0x0000000100062f17 in get_glyph_face_and_encoding (f=0x10281dc30, glyph=0x10379b980, char2b=0x7fff5fbfb440) at xdisp.c:24333
> | #3  0x00000001000b581d in fill_glyph_string (s=0x7fff5fbfb460, face_id=61, start=8, end=21, overlaps=0) at xdisp.c:24558
> | #4  0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225
> | #5  0x000000010006cef1 in x_write_glyphs (w=0x10281cc30, updated_row=0x1198e4200, start=0x10379b800, updated_area=TEXT_AREA, len=21) at xdisp.c:27256
> | #6  0x0000000100011d98 in update_text_area (w=0x10281cc30, updated_row=0x1198e4200, vpos=8) at dispnew.c:3611
> | #7  0x000000010000f952 in update_window_line (w=0x10281cc30, vpos=8, mouse_face_overwritten_p=0x7fff5fbfbdf2) at dispnew.c:3854
> | #8  0x00000001000078a2 in update_window (w=0x10281cc30, force_p=true) at dispnew.c:3477
> | #9  0x00000001000066af in update_window_tree (w=0x10281cc30, force_p=true) at dispnew.c:3219
> | #10 0x000000010000638b in update_frame (f=0x10281dc30, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3108
> | #11 0x0000000100051fa9 in redisplay_internal () at xdisp.c:13815
> | #12 0x0000000100053ac9 in redisplay () at xdisp.c:13059
> | #13 0x0000000100184339 in read_char (commandflag=1, map=4799273539, prev_event=0, used_mouse_menu=0x7fff5fbfefb7, end_time=0x0) at keyboard.c:2465
> | #14 0x000000010017f299 in read_key_sequence (keybuf=0x7fff5fbff2f0, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9030
> | #15 0x000000010017db96 in command_loop_1 () at keyboard.c:1348
> | #16 0x0000000100260706 in internal_condition_case (bfun=0x10017d5a0 <command_loop_1>, handlers=17616, hfun=0x100198e10 <cmd_error>) at eval.c:1309
> | #17 0x0000000100198d0c in command_loop_2 (ignore=0) at keyboard.c:1088
> | #18 0x000000010025f7ce in internal_catch (tag=42768, func=0x100198ce0 <command_loop_2>, arg=0) at eval.c:1073
> | #19 0x000000010017c8e0 in command_loop () at keyboard.c:1067
> | #20 0x000000010017c722 in recursive_edit_1 () at keyboard.c:673
> | #21 0x000000010017cb13 in Frecursive_edit () at keyboard.c:744
> | #22 0x000000010017a6ba in main (argc=1, argv=0x7fff5fbff8f0) at emacs.c:1643
> | Current language:  auto; currently minimal
> | 
> | Lisp Backtrace:
> | "redisplay_internal (C function)" (0x0)
> | (gdb) frame
> | #0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370
> | 370	  signal (sig, SIG_DFL);
> | (gdb) frame 4
> | #4  0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225
> | 25225	  BUILD_GLYPH_STRINGS (i, end, head, tail, hl, x, last_x);
> | (gdb) frame 2
> | #2  0x0000000100062f17 in get_glyph_face_and_encoding (f=0x10281dc30, glyph=0x10379b980, char2b=0x7fff5fbfb440) at xdisp.c:24333
> | 24333	  eassert (face != NULL);
> | (gdb)  p f->face_cache->used
> | $1 = 38
> | (gdb) pgrow
> | No symbol "row" in current context.
> | (gdb) frame 4
> | #4  0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225
> | 25225	  BUILD_GLYPH_STRINGS (i, end, head, tail, hl, x, last_x);
> | (gdb) pgrow
> | TEXT: 21 glyphs
> |   0    0: CHAR[*] str=0x1e87ebb8[0] blev=0,btyp=L w=8 a+d=14+4 face=15 AVOID
> |   1    8: CHAR[*] str=0x1e87ebb8[1] blev=0,btyp=L w=8 a+d=14+4 face=15 AVOID
> |   2   16: CHAR[*] str=0x1e87ebb8[2] blev=0,btyp=L w=8 a+d=14+4 face=15 AVOID
> |   3   24: CHAR[*] pos=68687 blev=0,btyp=L w=8 a+d=14+4 face=15 MB
> |   4   32: CHAR[*] pos=68688 blev=0,btyp=L w=8 a+d=14+4 face=15 MB
> |   5   40: CHAR[*] pos=68689 blev=0,btyp=L w=8 a+d=14+4 face=15 MB
> |   6   48: CHAR[*] pos=68690 blev=0,btyp=L w=8 a+d=14+4 face=19 MB
> |   7   56: CHAR[ ] pos=68691 blev=0,btyp=L w=8 a+d=14+4 face=19 MB
> |   8   64: CHAR[l] pos=68692 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |   9   72: CHAR[o] pos=68693 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  10   80: CHAR[a] pos=68694 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  11   88: CHAR[d] pos=68695 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  12   96: CHAR[M] pos=68696 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  13  104: CHAR[u] pos=68697 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  14  112: CHAR[l] pos=68698 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  15  120: CHAR[t] pos=68699 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  16  128: CHAR[i] pos=68700 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  17  136: CHAR[p] pos=68701 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  18  144: CHAR[l] pos=68702 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  19  152: CHAR[e] pos=68703 blev=0,btyp=L w=8 a+d=14+4 face=61 MB
> |  20  160: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=14+4 MB
> | (gdb) xbacktrace
> | "redisplay_internal (C function)" (0x0)
> | (gdb) bt full
> | #0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370
> | No locals.
> | #1  0x00000001002256eb in die (msg=0x1003b680a "face != NULL", file=0x1003b24f0 "xdisp.c", line=24333) at alloc.c:6951
> | No locals.
> | #2  0x0000000100062f17 in get_glyph_face_and_encoding (f=0x10281dc30, glyph=0x10379b980, char2b=0x7fff5fbfb440) at xdisp.c:24333
> | 	face = (struct face *) 0x0
> | 	code = 0
> | #3  0x00000001000b581d in fill_glyph_string (s=0x7fff5fbfb460, face_id=61, start=8, end=21, overlaps=0) at xdisp.c:24558
> | 	glyph = (struct glyph *) 0x10379b980
> | 	last = (struct glyph *) 0x10379bbf0
> | 	voffset = 0
> | 	glyph_not_available_p = false
> | #4  0x000000010006d5c9 in draw_glyphs (w=0x10281cc30, x=72, row=0x1198e4200, area=TEXT_AREA, start=0, end=21, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225
> | 	face_id = 61
> | 	char2b = (XChar2b *) 0x7fff5fbfb440
> | 	first_glyph = (struct glyph *) 0x10379b980
> | 	head = (struct glyph_string *) 0x7fff5fbfb6f0
> | 	tail = (struct glyph_string *) 0x7fff5fbfb460
> | 	s = (struct glyph_string *) 0x7fff5fbfb460
> | 	clip_head = (struct glyph_string *) 0x0
> | 	clip_tail = (struct glyph_string *) 0x0
> | 	i = 8
> | 	j = 1519979
> | 	x_reached = 1
> | 	last_x = 2537
> | 	area_left = 8
> | 	f = (struct frame *) 0x10281dc30
> | 	sa_avail = 16286
> | 	sa_count = 5
> | 	sa_must_free = false
> | #5  0x000000010006cef1 in x_write_glyphs (w=0x10281cc30, updated_row=0x1198e4200, start=0x10379b800, updated_area=TEXT_AREA, len=21) at xdisp.c:27256
> | 	x = 16779745
> | 	hpos = 0
> | 	chpos = 10
> | #6  0x0000000100011d98 in update_text_area (w=0x10281cc30, updated_row=0x1198e4200, vpos=8) at dispnew.c:3611
> | 	current_row = (struct glyph_row *) 0x119d7a200
> | 	desired_row = (struct glyph_row *) 0x1198e4200
> | 	rif = (struct redisplay_interface *) 0x1007d8e98
> | 	changed_p = false
> | #7  0x000000010000f952 in update_window_line (w=0x10281cc30, vpos=8, mouse_face_overwritten_p=0x7fff5fbfbdf2) at dispnew.c:3854
> | 	current_row = (struct glyph_row *) 0x119d7a200
> | 	desired_row = (struct glyph_row *) 0x1198e4200
> | 	rif = (struct redisplay_interface *) 0x1007d8e98
> | 	changed_p = false
> | #8  0x00000001000078a2 in update_window (w=0x10281cc30, force_p=true) at dispnew.c:3477
> | 	vpos = 8
> | 	i = 68740
> | 	end = (struct glyph_row *) 0x1198ebb00
> | 	mode_line_row = (struct glyph_row *) 0x1198ebb00
> | 	header_line_row = (struct glyph_row *) 0x1198e3a00
> | 	changed_p = true
> | 	mouse_face_overwritten_p = false
> | 	row = (struct glyph_row *) 0x1198e4200
> | 	yb = 1402
> | 	n_updated = 0
> | 	desired_matrix = (struct glyph_matrix *) 0x11073dc80
> | 	paused_p = false
> | 	preempt_count = 17
> | 	rif = (struct redisplay_interface *) 0x1007d8e98
> | #9  0x00000001000066af in update_window_tree (w=0x10281cc30, force_p=true) at dispnew.c:3219
> | 	paused_p = false
> | #10 0x000000010000638b in update_frame (f=0x10281dc30, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3108
> | 	paused_p = false
> | 	root_window = (struct window *) 0x10281cc30
> | #11 0x0000000100051fa9 in redisplay_internal () at xdisp.c:13815
> | 	gcscrollbars = false
> | 	f = (struct frame *) 0x10281dc30
> | 	w = (struct window *) 0x10281cc30
> | 	sw = (struct window *) 0x10281cc30
> | 	fr = (struct frame *) 0x10281dc30
> | 	pending = false
> | 	must_finish = false
> | 	match_p = true
> | 	tlbufpos = {
> |   charpos = 68726,
> |   bytepos = 68771
> | }
> | 	tlendpos = {
> |   charpos = 212048,
> |   bytepos = 212053
> | }
> | 	number_of_visible_frames = 1
> | 	count = 2
> | 	sf = (struct frame *) 0x10281dc30
> | 	polling_stopped_here = true
> | 	tail = 4395852867
> | 	frame = 4337032245
> | 	consider_all_windows_p = true
> | 	update_miniwindow_p = false
> | #12 0x0000000100053ac9 in redisplay () at xdisp.c:13059
> | No locals.
> | #13 0x0000000100184339 in read_char (commandflag=1, map=4799273539, prev_event=0, used_mouse_menu=0x7fff5fbfefb7, end_time=0x0) at keyboard.c:2465
> | 	echo_current = true
> | 	c = 0
> | 	jmpcount = 140734799801360
> | 	local_getcjmp = 0x7fff5fbfeba0
> | 	save_jump = 0x7fff5fbfeb00
> | 	tem = 2
> | 	save = 0
> | 	previous_echo_area_message = 0
> | 	also_record = 0
> | 	reread = false
> | 	recorded = false
> | 	polling_stopped_here = false
> | 	orig_kboard = (struct kboard *) 0x101317100
> | #14 0x000000010017f299 in read_key_sequence (keybuf=0x7fff5fbff2f0, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9030
> | 	interrupted_kboard = (KBOARD *) 0x101317100
> | 	interrupted_frame = (struct frame *) 0x10281dc30
> | 	key = 140734799802480
> | 	used_mouse_menu = false
> | 	echo_local_start = 0
> | 	last_real_key_start = 0
> | 	keys_local_start = 0
> | 	new_binding = 80853
> | 	count = 2
> | 	t = 0
> | 	echo_start = 0
> | 	keys_start = 0
> | 	current_binding = 4799273539
> | 	first_event = 0
> | 	first_unbound = 31
> | 	mock_input = 0
> | 	fkey = {
> |   parent = 4395752691,
> |   map = 4395752691,
> |   start = 0,
> |   end = 0
> | }
> | 	keytran = {
> |   parent = 4328555075,
> |   map = 4328555075,
> |   start = 0,
> |   end = 0
> | }
> | 	indec = {
> |   parent = 4395752755,
> |   map = 4395752755,
> |   start = 0,
> |   end = 0
> | }
> | 	shift_translated = false
> | 	delayed_switch_frame = 0
> | 	original_uppercase = 0
> | 	original_uppercase_position = -1
> | 	dummyflag = false
> | 	starting_buffer = (struct buffer *) 0x1109d4ea0
> | 	fake_prefixed_keys = 0
> | #15 0x000000010017db96 in command_loop_1 () at keyboard.c:1348
> | 	cmd = 25432416
> | 	keybuf = 0x7fff5fbff2f0
> | 	i = 1
> | 	prev_modiff = 46181
> | 	prev_buffer = (struct buffer *) 0x1109d4ea0
> | 	already_adjusted = false
> | #16 0x0000000100260706 in internal_condition_case (bfun=0x10017d5a0 <command_loop_1>, handlers=17616, hfun=0x100198e10 <cmd_error>) at eval.c:1309
> | 	val = 4303299704
> | 	c = (struct handler *) 0x1010099e0
> | #17 0x0000000100198d0c in command_loop_2 (ignore=0) at keyboard.c:1088
> | 	val = 2
> | #18 0x000000010025f7ce in internal_catch (tag=42768, func=0x100198ce0 <command_loop_2>, arg=0) at eval.c:1073
> | 	val = 0
> | 	c = (struct handler *) 0x1010098f0
> | #19 0x000000010017c8e0 in command_loop () at keyboard.c:1067
> | No locals.
> | #20 0x000000010017c722 in recursive_edit_1 () at keyboard.c:673
> | 	count = 1
> | 	val = 0
> | #21 0x000000010017cb13 in Frecursive_edit () at keyboard.c:744
> | 	count = 0
> | 	buffer = 0
> | #22 0x000000010017a6ba in main (argc=1, argv=0x7fff5fbff8f0) at emacs.c:1643
> | 	dummy = 140734799806464
> | 	stack_bottom_variable = 0 '\0'
> | 	do_initial_setlocale = true
> | 	dumping = false
> | 	skip_args = 0
> | 	rlim = {
> |   rlim_cur = 8720000,
> |   rlim_max = 67104768
> | }
> | 	no_loadup = false
> | 	junk = 0x0
> | 	dname_arg = 0x0
> | 	dname_arg2 = 0x7fff5fbff870 "\001"
> | 	ch_to_dir = 0x0
> | 	original_pwd = 0x0
> | 
> | Lisp Backtrace:
> | "redisplay_internal (C function)" (0x0)
> | (gdb)
> `----
>
> The face is as follow: (the one where it crashed was not saved, not even
> in the autosave, so I choose the same one (******* plot)).
>
> Here is a link to the screenshot (or should I attach the next time?)
>
> describe-text-properties
>
> ,----
> | Text content at position 68694:
> | 
> | 
> | There are text properties here:
> |   face                 org-level-4
> |   fontified            t
> |   line-prefix          [Show]
> |   org-category         "EnergyBalance"
> |   org-stats            0
> |   wrap-prefix          [Show]
> | 
> | [back]
> `----
>
> describe-face
> ,----
> | Face: org-level-4 (sample) (customize this face)
> | 
> | Documentation:
> | Face used for level 4 headlines.
> | 
> | Defined in ‘org-faces.el’.
> | 
> |            Family: unspecified
> |           Foundry: unspecified
> |             Width: unspecified
> |            Height: 1.0
> |            Weight: bold
> |             Slant: normal
> |        Foreground: #EA6300
> | DistantForeground: unspecified
> |        Background: unspecified
> |         Underline: unspecified
> |          Overline: unspecified
> |    Strike-through: unspecified
> |               Box: unspecified
> |           Inverse: unspecified
> |           Stipple: unspecified
> |              Font: unspecified
> |           Fontset: unspecified
> |           Inherit: unspecified
> | 
> | [back]
> `----
>

And another crash and a screenshot attached:

Please note that the stars on the left with the yellow background are
*not* in the file. 

,----
| xdisp.c:24333: Emacs fatal error: assertion failed: face != NULL
| 
| Breakpoint 1, terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370
| 370	  signal (sig, SIG_DFL);
| (gdb) bt
| #0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370
| #1  0x00000001002256eb in die (msg=0x1003b680a "face != NULL", file=0x1003b24f0 "xdisp.c", line=24333) at alloc.c:6951
| #2  0x0000000100062f17 in get_glyph_face_and_encoding (f=0x103811830, glyph=0x103c4b060, char2b=0x7fff5fbfb310) at xdisp.c:24333
| #3  0x00000001000b581d in fill_glyph_string (s=0x7fff5fbfb360, face_id=50, start=34, end=71, overlaps=0) at xdisp.c:24558
| #4  0x000000010006d5c9 in draw_glyphs (w=0x102801630, x=280, row=0x103672700, area=TEXT_AREA, start=0, end=71, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225
| #5  0x000000010006cef1 in x_write_glyphs (w=0x102801630, updated_row=0x103672700, start=0x103c4aa00, updated_area=TEXT_AREA, len=71) at xdisp.c:27256
| #6  0x0000000100011d98 in update_text_area (w=0x102801630, updated_row=0x103672700, vpos=17) at dispnew.c:3611
| #7  0x000000010000f952 in update_window_line (w=0x102801630, vpos=17, mouse_face_overwritten_p=0x7fff5fbfbdc2) at dispnew.c:3854
| #8  0x00000001000078a2 in update_window (w=0x102801630, force_p=true) at dispnew.c:3477
| #9  0x00000001000066af in update_window_tree (w=0x102801630, force_p=true) at dispnew.c:3219
| #10 0x000000010000665d in update_window_tree (w=0x11c490f88, force_p=true) at dispnew.c:3217
| #11 0x000000010000638b in update_frame (f=0x103811830, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3108
| #12 0x0000000100051fa9 in redisplay_internal () at xdisp.c:13815
| #13 0x0000000100053ac9 in redisplay () at xdisp.c:13059
| #14 0x0000000100184339 in read_char (commandflag=1, map=4361221331, prev_event=0, used_mouse_menu=0x7fff5fbfefb7, end_time=0x0) at keyboard.c:2465
| #15 0x000000010017f299 in read_key_sequence (keybuf=0x7fff5fbff2f0, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9030
| #16 0x000000010017db96 in command_loop_1 () at keyboard.c:1348
| #17 0x0000000100260706 in internal_condition_case (bfun=0x10017d5a0 <command_loop_1>, handlers=17616, hfun=0x100198e10 <cmd_error>) at eval.c:1309
| #18 0x0000000100198d0c in command_loop_2 (ignore=0) at keyboard.c:1088
| #19 0x000000010025f7ce in internal_catch (tag=42768, func=0x100198ce0 <command_loop_2>, arg=0) at eval.c:1073
| #20 0x000000010017c8e0 in command_loop () at keyboard.c:1067
| #21 0x000000010017c722 in recursive_edit_1 () at keyboard.c:673
| #22 0x000000010017cb13 in Frecursive_edit () at keyboard.c:744
| #23 0x000000010017a6ba in main (argc=1, argv=0x7fff5fbff8f0) at emacs.c:1643
| Current language:  auto; currently minimal
| 
| Lisp Backtrace:
| "redisplay_internal (C function)" (0x0)
| (gdb) frame 2
| #2  0x0000000100062f17 in get_glyph_face_and_encoding (f=0x103811830, glyph=0x103c4b060, char2b=0x7fff5fbfb310) at xdisp.c:24333
| 24333	  eassert (face != NULL);
| (gdb) bt full
| #0  terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:370
| No locals.
| #1  0x00000001002256eb in die (msg=0x1003b680a "face != NULL", file=0x1003b24f0 "xdisp.c", line=24333) at alloc.c:6951
| No locals.
| #2  0x0000000100062f17 in get_glyph_face_and_encoding (f=0x103811830, glyph=0x103c4b060, char2b=0x7fff5fbfb310) at xdisp.c:24333
| 	face = (struct face *) 0x0
| 	code = 0
| #3  0x00000001000b581d in fill_glyph_string (s=0x7fff5fbfb360, face_id=50, start=34, end=71, overlaps=0) at xdisp.c:24558
| 	glyph = (struct glyph *) 0x103c4b060
| 	last = (struct glyph *) 0x103c4b750
| 	voffset = 0
| 	glyph_not_available_p = false
| #4  0x000000010006d5c9 in draw_glyphs (w=0x102801630, x=280, row=0x103672700, area=TEXT_AREA, start=0, end=71, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225
| 	face_id = 50
| 	char2b = (XChar2b *) 0x7fff5fbfb310
| 	first_glyph = (struct glyph *) 0x103c4b060
| 	head = (struct glyph_string *) 0x7fff5fbfb6c0
| 	tail = (struct glyph_string *) 0x7fff5fbfb360
| 	s = (struct glyph_string *) 0x7fff5fbfb360
| 	clip_head = (struct glyph_string *) 0x0
| 	clip_tail = (struct glyph_string *) 0x0
| 	i = 34
| 	j = 1519979
| 	x_reached = 1
| 	last_x = 1257
| 	area_left = 8
| 	f = (struct frame *) 0x103811830
| 	sa_avail = 16032
| 	sa_count = 5
| 	sa_must_free = false
| #5  0x000000010006cef1 in x_write_glyphs (w=0x102801630, updated_row=0x103672700, start=0x103c4aa00, updated_area=TEXT_AREA, len=71) at xdisp.c:27256
| 	x = 16778465
| 	hpos = 0
| 	chpos = 27
| #6  0x0000000100011d98 in update_text_area (w=0x102801630, updated_row=0x103672700, vpos=17) at dispnew.c:3611
| 	current_row = (struct glyph_row *) 0x11c018500
| 	desired_row = (struct glyph_row *) 0x103672700
| 	rif = (struct redisplay_interface *) 0x1007d8e98
| 	changed_p = false
| #7  0x000000010000f952 in update_window_line (w=0x102801630, vpos=17, mouse_face_overwritten_p=0x7fff5fbfbdc2) at dispnew.c:3854
| 	current_row = (struct glyph_row *) 0x11c018500
| 	desired_row = (struct glyph_row *) 0x103672700
| 	rif = (struct redisplay_interface *) 0x1007d8e98
| 	changed_p = false
| #8  0x00000001000078a2 in update_window (w=0x102801630, force_p=true) at dispnew.c:3477
| 	vpos = 17
| 	i = 71053
| 	end = (struct glyph_row *) 0x103679700
| 	mode_line_row = (struct glyph_row *) 0x103679700
| 	header_line_row = (struct glyph_row *) 0x103671600
| 	changed_p = true
| 	mouse_face_overwritten_p = false
| 	row = (struct glyph_row *) 0x103672700
| 	yb = 1402
| 	n_updated = 0
| 	desired_matrix = (struct glyph_matrix *) 0x10105c210
| 	paused_p = false
| 	preempt_count = 17
| 	rif = (struct redisplay_interface *) 0x1007d8e98
| #9  0x00000001000066af in update_window_tree (w=0x102801630, force_p=true) at dispnew.c:3219
| 	paused_p = false
| #10 0x000000010000665d in update_window_tree (w=0x11c490f88, force_p=true) at dispnew.c:3217
| 	paused_p = false
| #11 0x000000010000638b in update_frame (f=0x103811830, force_p=true, inhibit_hairy_id_p=false) at dispnew.c:3108
| 	paused_p = false
| 	root_window = (struct window *) 0x11c490f88
| #12 0x0000000100051fa9 in redisplay_internal () at xdisp.c:13815
| 	gcscrollbars = false
| 	f = (struct frame *) 0x103811830
| 	w = (struct window *) 0x102801630
| 	sw = (struct window *) 0x102801630
| 	fr = (struct frame *) 0x103811830
| 	pending = false
| 	must_finish = false
| 	match_p = true
| 	tlbufpos = {
|   charpos = 71033,
|   bytepos = 71078
| }
| 	tlendpos = {
|   charpos = 208842,
|   bytepos = 208847
| }
| 	number_of_visible_frames = 1
| 	count = 2
| 	sf = (struct frame *) 0x103811830
| 	polling_stopped_here = true
| 	tail = 4395852867
| 	frame = 4353759285
| 	consider_all_windows_p = true
| 	update_miniwindow_p = false
| #13 0x0000000100053ac9 in redisplay () at xdisp.c:13059
| No locals.
| #14 0x0000000100184339 in read_char (commandflag=1, map=4361221331, prev_event=0, used_mouse_menu=0x7fff5fbfefb7, end_time=0x0) at keyboard.c:2465
| 	echo_current = true
| 	c = 0
| 	jmpcount = 140734799801360
| 	local_getcjmp = 0x7fff5fbfeba0
| 	save_jump = 0x7fff5fbfeb00
| 	tem = 2
| 	save = 0
| 	previous_echo_area_message = 0
| 	also_record = 0
| 	reread = false
| 	recorded = false
| 	polling_stopped_here = false
| 	orig_kboard = (struct kboard *) 0x1010335e0
| #15 0x000000010017f299 in read_key_sequence (keybuf=0x7fff5fbff2f0, bufsize=30, prompt=0, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9030
| 	interrupted_kboard = (KBOARD *) 0x1010335e0
| 	interrupted_frame = (struct frame *) 0x103811830
| 	key = 140734799802480
| 	used_mouse_menu = false
| 	echo_local_start = 0
| 	last_real_key_start = 0
| 	keys_local_start = 0
| 	new_binding = 279901
| 	count = 2
| 	t = 0
| 	echo_start = 0
| 	keys_start = 0
| 	current_binding = 4361221331
| 	first_event = 0
| 	first_unbound = 31
| 	mock_input = 0
| 	fkey = {
|   parent = 4395752691,
|   map = 4395752691,
|   start = 0,
|   end = 0
| }
| 	keytran = {
|   parent = 4328555075,
|   map = 4328555075,
|   start = 0,
|   end = 0
| }
| 	indec = {
|   parent = 4395752755,
|   map = 4395752755,
|   start = 0,
|   end = 0
| }
| 	shift_translated = false
| 	delayed_switch_frame = 0
| 	original_uppercase = 0
| 	original_uppercase_position = -1
| 	dummyflag = false
| 	starting_buffer = (struct buffer *) 0x110aa2af0
| 	fake_prefixed_keys = 0
| #16 0x000000010017db96 in command_loop_1 () at keyboard.c:1348
| 	cmd = 24365352
| 	keybuf = 0x7fff5fbff2f0
| 	i = 1
| 	prev_modiff = 39547
| 	prev_buffer = (struct buffer *) 0x110aa2af0
| 	already_adjusted = false
| #17 0x0000000100260706 in internal_condition_case (bfun=0x10017d5a0 <command_loop_1>, handlers=17616, hfun=0x100198e10 <cmd_error>) at eval.c:1309
| 	val = 4303299704
| 	c = (struct handler *) 0x10122ead0
| #18 0x0000000100198d0c in command_loop_2 (ignore=0) at keyboard.c:1088
| 	val = 2
| #19 0x000000010025f7ce in internal_catch (tag=42768, func=0x100198ce0 <command_loop_2>, arg=0) at eval.c:1073
| 	val = 0
| 	c = (struct handler *) 0x10122e9e0
| #20 0x000000010017c8e0 in command_loop () at keyboard.c:1067
| No locals.
| #21 0x000000010017c722 in recursive_edit_1 () at keyboard.c:673
| 	count = 1
| 	val = 0
| #22 0x000000010017cb13 in Frecursive_edit () at keyboard.c:744
| 	count = 0
| 	buffer = 0
| #23 0x000000010017a6ba in main (argc=1, argv=0x7fff5fbff8f0) at emacs.c:1643
| 	dummy = 140734799806464
| 	stack_bottom_variable = 0 '\0'
| 	do_initial_setlocale = true
| 	dumping = false
| 	skip_args = 0
| 	rlim = {
|   rlim_cur = 8720000,
|   rlim_max = 67104768
| }
| 	no_loadup = false
| 	junk = 0x0
| 	dname_arg = 0x0
| 	dname_arg2 = 0x7fff5fbff870 "\001"
| 	ch_to_dir = 0x0
| 	original_pwd = 0x0
| 
| Lisp Backtrace:
| "redisplay_internal (C function)" (0x0)
| (gdb) frame 2
| #2  0x0000000100062f17 in get_glyph_face_and_encoding (f=0x103811830, glyph=0x103c4b060, char2b=0x7fff5fbfb310) at xdisp.c:24333
| 24333	  eassert (face != NULL);
| (gdb) p f->face_cache->used
| $1 = 38
| (gdb) frame 4
| #4  0x000000010006d5c9 in draw_glyphs (w=0x102801630, x=280, row=0x103672700, area=TEXT_AREA, start=0, end=71, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:25225
| 25225	  BUILD_GLYPH_STRINGS (i, end, head, tail, hl, x, last_x);
| (gdb) pgrow
| TEXT: 71 glyphs
|   0    0: CHAR[*] str=0x1c365d08[0] blev=0,btyp=L w=8 a+d=14+4 face=16 AVOID
|   1    8: CHAR[*] str=0x1c365d08[1] blev=0,btyp=L w=8 a+d=14+4 face=16 AVOID
|   2   16: CHAR[*] str=0x1c365d08[2] blev=0,btyp=L w=8 a+d=14+4 face=16 AVOID
|   3   24: CHAR[ ] str=0x1c365d08[3] blev=0,btyp=L w=8 a+d=14+4 AVOID
|   4   32: CHAR[W] pos=67801 blev=0,btyp=L w=8 a+d=14+4 MB
|   5   40: CHAR[e] pos=67802 blev=0,btyp=L w=8 a+d=14+4 MB
|   6   48: CHAR[ ] pos=67803 blev=0,btyp=L w=8 a+d=14+4 MB
|   7   56: CHAR[u] pos=67804 blev=0,btyp=L w=8 a+d=14+4 MB
|   8   64: CHAR[s] pos=67805 blev=0,btyp=L w=8 a+d=14+4 MB
|   9   72: CHAR[e] pos=67806 blev=0,btyp=L w=8 a+d=14+4 MB
|  10   80: CHAR[ ] pos=67807 blev=0,btyp=L w=8 a+d=14+4 MB
|  11   88: CHAR[t] pos=67808 blev=0,btyp=L w=8 a+d=14+4 MB
|  12   96: CHAR[h] pos=67809 blev=0,btyp=L w=8 a+d=14+4 MB
|  13  104: CHAR[i] pos=67810 blev=0,btyp=L w=8 a+d=14+4 MB
|  14  112: CHAR[s] pos=67811 blev=0,btyp=L w=8 a+d=14+4 MB
|  15  120: CHAR[ ] pos=67812 blev=0,btyp=L w=8 a+d=14+4 MB
|  16  128: CHAR[m] pos=67813 blev=0,btyp=L w=8 a+d=14+4 MB
|  17  136: CHAR[e] pos=67814 blev=0,btyp=L w=8 a+d=14+4 MB
|  18  144: CHAR[t] pos=67815 blev=0,btyp=L w=8 a+d=14+4 MB
|  19  152: CHAR[h] pos=67816 blev=0,btyp=L w=8 a+d=14+4 MB
|  20  160: CHAR[o] pos=67817 blev=0,btyp=L w=8 a+d=14+4 MB
|  21  168: CHAR[d] pos=67818 blev=0,btyp=L w=8 a+d=14+4 MB
|  22  176: CHAR[ ] pos=67819 blev=0,btyp=L w=8 a+d=14+4 MB
|  23  184: CHAR[t] pos=67820 blev=0,btyp=L w=8 a+d=14+4 MB
|  24  192: CHAR[o] pos=67821 blev=0,btyp=L w=8 a+d=14+4 MB
|  25  200: CHAR[ ] pos=67822 blev=0,btyp=L w=8 a+d=14+4 MB
|  26  208: CHAR[f] pos=67823 blev=0,btyp=L w=8 a+d=14+4 MB
|  27  216: CHAR[i] pos=67824 blev=0,btyp=L w=8 a+d=14+4 MB
|  28  224: CHAR[t] pos=67825 blev=0,btyp=L w=8 a+d=14+4 MB
|  29  232: CHAR[ ] pos=67826 blev=0,btyp=L w=8 a+d=14+4 MB
|  30  240: CHAR[t] pos=67827 blev=0,btyp=L w=8 a+d=14+4 MB
|  31  248: CHAR[h] pos=67828 blev=0,btyp=L w=8 a+d=14+4 MB
|  32  256: CHAR[e] pos=67829 blev=0,btyp=L w=8 a+d=14+4 MB
|  33  264: CHAR[ ] pos=67830 blev=0,btyp=L w=8 a+d=14+4 MB
|  34  272: CHAR[=] pos=67831 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  35  280: CHAR[d] pos=67832 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  36  288: CHAR[e] pos=67833 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  37  296: CHAR[f] pos=67834 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  38  304: CHAR[a] pos=67835 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  39  312: CHAR[u] pos=67836 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  40  320: CHAR[l] pos=67837 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  41  328: CHAR[t] pos=67838 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  42  336: CHAR[=] pos=67839 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  43  344: CHAR[ ] pos=67840 blev=0,btyp=L w=8 a+d=14+4 MB
|  44  352: CHAR[a] pos=67841 blev=0,btyp=L w=8 a+d=14+4 MB
|  45  360: CHAR[n] pos=67842 blev=0,btyp=L w=8 a+d=14+4 MB
|  46  368: CHAR[d] pos=67843 blev=0,btyp=L w=8 a+d=14+4 MB
|  47  376: CHAR[ ] pos=67844 blev=0,btyp=L w=8 a+d=14+4 MB
|  48  384: CHAR[t] pos=67845 blev=0,btyp=L w=8 a+d=14+4 MB
|  49  392: CHAR[h] pos=67846 blev=0,btyp=L w=8 a+d=14+4 MB
|  50  400: CHAR[e] pos=67847 blev=0,btyp=L w=8 a+d=14+4 MB
|  51  408: CHAR[ ] pos=67848 blev=0,btyp=L w=8 a+d=14+4 MB
|  52  416: CHAR[=] pos=67849 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  53  424: CHAR[o] pos=67850 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  54  432: CHAR[w] pos=67851 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  55  440: CHAR[n] pos=67852 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  56  448: CHAR[F] pos=67853 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  57  456: CHAR[r] pos=67854 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  58  464: CHAR[e] pos=67855 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  59  472: CHAR[e] pos=67856 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  60  480: CHAR[=] pos=67857 blev=0,btyp=L w=8 a+d=14+4 face=50 MB
|  61  488: CHAR[ ] pos=67858 blev=0,btyp=L w=8 a+d=14+4 MB
|  62  496: CHAR[p] pos=67859 blev=0,btyp=L w=8 a+d=14+4 MB
|  63  504: CHAR[r] pos=67860 blev=0,btyp=L w=8 a+d=14+4 MB
|  64  512: CHAR[o] pos=67861 blev=0,btyp=L w=8 a+d=14+4 MB
|  65  520: CHAR[f] pos=67862 blev=0,btyp=L w=8 a+d=14+4 MB
|  66  528: CHAR[i] pos=67863 blev=0,btyp=L w=8 a+d=14+4 MB
|  67  536: CHAR[l] pos=67864 blev=0,btyp=L w=8 a+d=14+4 MB
|  68  544: CHAR[e] pos=67865 blev=0,btyp=L w=8 a+d=14+4 MB
|  69  552: CHAR[.] pos=67866 blev=0,btyp=L w=8 a+d=14+4 MB
|  70  560: CHAR[ ] pos=0 blev=0,btyp=B w=8 a+d=14+4 MB
| (gdb) xbacktrace
| "redisplay_internal (C function)" (0x0)
| (gdb)
`----

> Rainer
>> Thanks.

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      [email-masked]

Skype:      RMkrug

PGP: 0x0F52F982