* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.