Subject: Re: bug#11813: bug#11850: crash (null font) running emacs built from git

From: Left Right <[email-masked]>
Date: Thu, 5 Jul 2012 10:34:52 +0300

OK, so I hoped to find what font is that, but id 13, although sounds
somewhat lucky... isn't helping much :P

Here's what I'm getting, with the patch applied:

gdb ./src/emacs
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/wvxvw/projects/emacs-sources/emacs/src/emacs...done.
(gdb) r -q
Starting program: /home/wvxvw/projects/emacs-sources/emacs/src/emacs -q
[Thread debugging using libthread_db enabled]

xdisp.c:22578: Emacs fatal error: assertion failed: s->font

Program received signal SIGABRT, Aborted.
0x00007ffff5255497 in kill () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff5255497 in kill () from /lib/libc.so.6
#1  0x00000000005c757e in abort () at emacs.c:390
#2  0x000000000067f91f in die (msg=0x793db7 "assertion failed:
s->font", file=0x788030 "xdisp.c", line=22578) at alloc.c:6653
#3  0x000000000048eb18 in fill_glyphless_glyph_string
(s=0x7fffffffba40, face_id=13, start=8, end=68, overlaps=0) at
xdisp.c:22578
#4  0x00000000004908c5 in draw_glyphs (w=0x146bdc0, x=82,
row=0x16748e0, area=TEXT_AREA, start=0, end=68, hl=DRAW_NORMAL_TEXT,
overlaps=0) at xdisp.c:23251
#5  0x000000000049a168 in x_write_glyphs (start=0xf20600, len=68) at
xdisp.c:25052
#6  0x0000000000415c3c in update_text_area (w=0x146bdc0, vpos=37) at
dispnew.c:3773
#7  0x000000000041677d in update_window_line (w=0x146bdc0, vpos=37,
mouse_face_overwritten_p=0x7fffffffc16c) at dispnew.c:4014
#8  0x000000000041564e in update_window (w=0x146bdc0, force_p=1) at
dispnew.c:3575
#9  0x0000000000414ccc in update_window_tree (w=0x146bdc0, force_p=1)
at dispnew.c:3340
#10 0x00000000004149b8 in update_frame (f=0x146adb0, force_p=1,
inhibit_hairy_id_p=1) at dispnew.c:3269
#11 0x000000000045f37f in echo_area_display (update_frame_p=1) at xdisp.c:10752
#12 0x000000000045ad85 in message3_nolog (m=23714017, nbytes=65,
multibyte=0) at xdisp.c:9628
#13 0x000000000045a8dc in message3 (m=23714017, nbytes=65,
multibyte=0) at xdisp.c:9565
#14 0x00000000006997aa in Fmessage (nargs=2, args=0x7fffffffc4f0) at
editfns.c:3436
#15 0x00000000006a8f0b in Ffuncall (nargs=3, args=0x7fffffffc4e8) at eval.c:2802
#16 0x0000000000718ce0 in exec_byte_code (bytestr=11994369,
vector=11994557, maxdepth=24, args_template=0, nargs=0,
args=0x7fffffffc9d8) at bytecode.c:784
#17 0x00000000006a9dbf in funcall_lambda (fun=11994317, nargs=0,
arg_vector=0x7fffffffc9d8) at eval.c:2986
#18 0x00000000006a964d in Ffuncall (nargs=1, args=0x7fffffffc9d0) at eval.c:2869
#19 0x0000000000718ce0 in exec_byte_code (bytestr=11996273,
vector=11997101, maxdepth=88, args_template=1028, nargs=1,
args=0x7fffffffcf38) at bytecode.c:784
#20 0x00000000006a9dbf in funcall_lambda (fun=11996221, nargs=1,
arg_vector=0x7fffffffcf30) at eval.c:2986
#21 0x00000000006a964d in Ffuncall (nargs=2, args=0x7fffffffcf28) at eval.c:2869
#22 0x0000000000718ce0 in exec_byte_code (bytestr=11955625,
vector=11957277, maxdepth=72, args_template=0, nargs=0,
args=0x7fffffffd478) at bytecode.c:784
#23 0x00000000006a9dbf in funcall_lambda (fun=11955573, nargs=0,
arg_vector=0x7fffffffd478) at eval.c:2986
#24 0x00000000006a964d in Ffuncall (nargs=1, args=0x7fffffffd470) at eval.c:2869
#25 0x0000000000718ce0 in exec_byte_code (bytestr=11951433,
vector=11951885, maxdepth=32, args_template=0, nargs=0,
args=0x7fffffffd8b0) at bytecode.c:784
#26 0x00000000006a9dbf in funcall_lambda (fun=11951381, nargs=0,
arg_vector=0x7fffffffd8b0) at eval.c:2986
#27 0x00000000006a99e9 in apply_lambda (fun=11951381, args=15120722)
at eval.c:2929
#28 0x00000000006a7244 in eval_sub (form=15346758) at eval.c:2212
#29 0x00000000006a6394 in Feval (form=15346758, lexical=15120722) at eval.c:2021
#30 0x00000000005cc4e3 in top_level_2 () at keyboard.c:1164
#31 0x00000000006a4591 in internal_condition_case (bfun=0x5cc4c6
<top_level_2>, handlers=15172450, hfun=0x5cbfc9 <cmd_error>) at
eval.c:1333
#32 0x00000000005cc51d in top_level_1 (ignore=15120722) at keyboard.c:1172
#33 0x00000000006a3e21 in internal_catch (tag=15168242, func=0x5cc4e5
<top_level_1>, arg=15120722) at eval.c:1090
#34 0x00000000005cc441 in command_loop () at keyboard.c:1127
#35 0x00000000005cb815 in recursive_edit_1 () at keyboard.c:754
#36 0x00000000005cbbf0 in Frecursive_edit () at keyboard.c:818
#37 0x00000000005c93a0 in main (argc=2, argv=0x7fffffffe2f8) at emacs.c:1693
(gdb) frame 2
#2  0x000000000067f91f in die (msg=0x793db7 "assertion failed:
s->font", file=0x788030 "xdisp.c", line=22578) at alloc.c:6653
6653      abort ();
(gdb) info frame
Stack level 2, frame at 0x7fffffffb9e0:
 rip = 0x67f91f in die (alloc.c:6653); saved rip 0x48eb18
 called by frame at 0x7fffffffba30, caller of frame at 0x7fffffffb9a0
 source language c.
 Arglist at 0x7fffffffb9d0, args: msg=0x793db7 "assertion failed:
s->font", file=0x788030 "xdisp.c", line=22578
 Locals at 0x7fffffffb9d0, Previous frame's sp is 0x7fffffffb9e0
 Saved registers:
  rbx at 0x7fffffffb9c8, rbp at 0x7fffffffb9d0, rip at 0x7fffffffb9d8
(gdb) info locals
No locals.
(gdb) info args
msg = 0x793db7 "assertion failed: s->font"
file = 0x788030 "xdisp.c"
line = 22578
(gdb) frame 3
#3  0x000000000048eb18 in fill_glyphless_glyph_string
(s=0x7fffffffba40, face_id=13, start=8, end=68, overlaps=0) at
xdisp.c:22578
22578     eassert (s->font);
(gdb) info args
s = 0x7fffffffba40
face_id = 13
start = 8
end = 68
overlaps = 0
(gdb) p *s
$1 = {x = 82, y = 631, ybase = 649, width = 0, background_width = 0,
height = 25, left_overhang = 0, right_overhang = 0, f = 0x146adb0, w =
0x146bdc0, display = 0x161a6b0,
  window = 54526078, row = 0x16748e0, area = TEXT_AREA, char2b = 0x0,
nchars = 0, hl = DRAW_NORMAL_TEXT, face = 0x1615dd0, font = 0x0, cmp =
0x0, cmp_id = 0, cmp_from = 0, cmp_to = 0,
  extends_to_end_of_line_p = 0, background_filled_p = 0, two_byte_p =
0, font_not_found_p = 0, stippled_p = 0, for_overlaps = 0, padding_p =
0, gc = 0x0, first_glyph = 0xf20780, img = 0x0,
  slice = {x = 0, y = 0, width = 0, height = 0}, clip_head = 0x0,
clip_tail = 0x0, clip = {{x = 0, y = 0, width = 0, height = 0}, {x =
0, y = 0, width = 0, height = 0}}, num_clips = 0,
  underline_position = 0, underline_thickness = 0, next = 0x0, prev =
0x7fffffffbbe0}
(gdb) p *s->face
$2 = {id = 13, gc = 0x16a5450, stipple = 0, foreground = 0, background
= 12566463, underline_color = 0, overline_color = 0,
strike_through_color = 0, box_color = 0, font = 0x0,
  fontset = -1, pixmap_w = 0, pixmap_h = 0, box_line_width = -1, box =
FACE_RAISED_BOX, use_box_color_for_shadows_p = 0, underline_type =
FACE_UNDER_LINE, underline_p = 0, overline_p = 0,
  strike_through_p = 0, foreground_defaulted_p = 0,
background_defaulted_p = 0, underline_defaulted_p = 0,
overline_color_defaulted_p = 0, strike_through_color_defaulted_p = 0,
  box_color_defaulted_p = 1, tty_bold_p = 0, tty_italic_p = 0,
tty_underline_p = 0, tty_reverse_p = 0, colors_copied_bitwise_p = 0,
overstrike = 0, lface = {15121298, 15558049, 15558017,
    15149714, 308, 15150002, 15149714, 15120722, 15120722, 11462737,
11852625, 15120722, 15120722, 15120722, 11921654, 21327581, 15120722,
15558273}, hash = 14922703, next = 0x0,
  prev = 0x0, ascii_face = 0x1615dd0, extra = 0x0}
(gdb)

Best.

Oleg