GNU bug report logs -
#6618
24.0.50; stack overflow in equal
Previous Next
Reported by: john ffitch <jpff <at> codemist.co.uk>
Date: Mon, 12 Jul 2010 11:03:03 UTC
Severity: normal
Found in version 24.0.50
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 6618 in the body.
You can then email your comments to 6618 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#6618
; Package
emacs
.
(Mon, 12 Jul 2010 11:03:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
john ffitch <jpff <at> codemist.co.uk>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 12 Jul 2010 11:03:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
If I start emacs with my usual command line I get a stack overflow
harvey:~/GNU_21/emacs/trunk> src/emacs -geometry 84x46+64+10 -fn "-etl-fixed-medium-r-normal--16-160-72-72-c-80-iso8859-1"
Stack overflow in equal
harvey:~/GNU_21/emacs/trunk>
if I omit the font infprmation it starts. I have been using this font
for a very long time. This is with update from bzr this morning.
In GNU Emacs 24.0.50.8 (x86_64-unknown-linux-gnu, GTK+ Version 2.18.6)
of 2010-07-12 on harvey
Windowing system distributor `The X.Org Foundation', version 11.0.10605000
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_GB.UTF-8
value of $XMODIFIERS: @im=local
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
Major mode: Mail
Minor modes in effect:
auto-image-file-mode: t
show-paren-mode: t
display-time-mode: t
tooltip-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
abbrev-mode: t
Recent input:
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> C-x C-f ~ / d i a <tab> <return>
C-v <down-mouse-1> <mouse-1> C-x C-f R M A <tab> <return>
y M-R p r e m i e r <return> M-m C-x C-k <return> M-x
n C-g M-x r e p o r <tab> <return>
Recent messages:
Parsing /home/jpff/.mailrc... done
Invalid face reference: my-trailing-space-face [10 times]
No keyboard macro defined. Create one? (y or n)
Invalid face reference: my-trailing-space-face [5 times]
Please answer y or n. No keyboard macro defined. Create one? (y or n)
Invalid face reference: my-trailing-space-face [5 times]
QuitInvalid face reference: my-trailing-space-face
Invalid face reference: my-trailing-space-face [4 times]
QuitInvalid face reference: my-trailing-space-face
Invalid face reference: my-trailing-space-face [19 times]
Load-path shadows:
/home/jpff/GNU_21/local-lisp/autotest-mode hides /usr/local/share/emacs/site-lisp/autotest-mode
/home/jpff/GNU_21/local-lisp/autoconf-mode hides /usr/local/share/emacs/site-lisp/autoconf-mode
/home/jpff/GNU_21/local-lisp/scroll-lock hides /home/jpff/GNU_21/emacs/trunk/lisp/scroll-lock
/home/jpff/GNU_21/local-lisp/t-mouse hides /home/jpff/GNU_21/emacs/trunk/lisp/t-mouse
/home/jpff/GNU_21/local-lisp/ruler-mode hides /home/jpff/GNU_21/emacs/trunk/lisp/ruler-mode
/home/jpff/GNU_21/local-lisp/emerge hides /home/jpff/GNU_21/emacs/trunk/lisp/vc/emerge
/home/jpff/GNU_21/local-lisp/url-gw hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-gw
/home/jpff/GNU_21/local-lisp/url-file hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-file
/home/jpff/GNU_21/local-lisp/url-cid hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-cid
/home/jpff/GNU_21/local-lisp/url-parse hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-parse
/home/jpff/GNU_21/local-lisp/url-cache hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-cache
/home/jpff/GNU_21/local-lisp/url-http hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-http
/home/jpff/GNU_21/local-lisp/url-misc hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-misc
/home/jpff/GNU_21/local-lisp/url hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url
/home/jpff/GNU_21/local-lisp/url-auth hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-auth
/home/jpff/GNU_21/local-lisp/url-ldap hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-ldap
/home/jpff/GNU_21/local-lisp/url-news hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-news
/home/jpff/GNU_21/local-lisp/url-vars hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-vars
/home/jpff/GNU_21/local-lisp/url-cookie hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-cookie
/home/jpff/GNU_21/local-lisp/url-nfs hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-nfs
/home/jpff/GNU_21/local-lisp/url-ns hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-ns
/home/jpff/GNU_21/local-lisp/url-irc hides /home/jpff/GNU_21/emacs/trunk/lisp/url/url-irc
/home/jpff/GNU_21/local-lisp/remember hides /home/jpff/GNU_21/emacs/trunk/lisp/textmodes/remember
/home/jpff/GNU_21/local-lisp/socks hides /home/jpff/GNU_21/emacs/trunk/lisp/net/socks
Features:
(shadow emacsbug edmacro kmacro mailabbrev mailalias etach sendmail
mime-compose mail-alias-menu mailcrypt mail-extr comint ring rmail
mail-utils eldoc package image-file logger crypt crypt++ crypt+pgp-pub
paren cal-julian uniquify advice help-fns advice-preload view
cal-china cal-bahai cal-islam cal-hebrew lunar solar cal-dst appt
diary-lib diary-loaddefs holidays hol-loaddefs regexp-opt cal-menu
easymenu calendar cal-loaddefs time tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mldrag 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 loaddefs button minibuffer faces cus-face files text-properties
overlay md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process
dynamic-setting font-render-setting gtk x-toolkit x multi-tty emacs)
==John ffitch
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#6618
; Package
emacs
.
(Tue, 13 Jul 2010 14:20:03 GMT)
Full text and
rfc822 format available.
Message #8 received at 6618 <at> debbugs.gnu.org (full text, mbox):
I'm running into the same problem and I've debugged it a little. AFAICT the
problem was introduced with revision 100788. The revision immediately before
that works fine, but I can observer the problem with revision 100788. The
ChangeLog entry for this is
2010-07-12 Kenichi Handa <handa <at> m17n.org>
* font.h (enum font_property_index): New member FONT_ENTITY_INDEX.
* font.c (font_open_entity): Record ENTITY in FONT_OBJECT's slot
of FONT_ENTITY_INDEX.
(Ffont_get): If KEY is :otf and the font-object doesn't have the
property, get the property value dynamically.
(Ffont_put): Accept font-entity and font-object too.
(Ffont_get_glyhphs): Renamed from Fget_font_glyphs. Arguments and
return value changed.
(syms_of_font): Adjusted for the above change.
It's most likely the first change in font.c: "Record ENTITY in FONT_OBJECT's
slot of FONT_ENTITY_INDEX.":
--- src/font.c 2010-07-11 10:31:10 +0000
+++ src/font.c 2010-07-12 02:28:50 +0000
@@ -3005,7 +3005,7 @@
return Qnil;
ASET (entity, FONT_OBJLIST_INDEX,
Fcons (font_object, AREF (entity, FONT_OBJLIST_INDEX)));
- ASET (font_object, FONT_OBJLIST_INDEX, Qnil);
+ ASET (font_object, FONT_ENTITY_INDEX, entity);
num_fonts++;
font = XFONT_OBJECT (font_object);
This introduces circular references: font_object now refers to entity and
entity refers back to font_object. This probably leads to the stack overflow
in equal later on. A backtrace in gdb looks like this, after about 200
recursive calls of internal_equal:
#200 0x081a2012 in internal_equal (o1=<value optimized out>, o2=149618949,
depth=<value optimized out>, props=0) at fns.c:2127
#201 0x081a2012 in internal_equal (o1=<value optimized out>, o2=149761965,
depth=<value optimized out>, props=0) at fns.c:2127
#202 0x081a21ba in Fequal (o1=141309301, o2=149761965) at fns.c:2015
#203 0x080ddd67 in Finternal_set_lisp_face_attribute (face=138409674,
attr=138389402, value=149761965, frame=150016069) at xfaces.c:3288
Bernhard
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#6618
; Package
emacs
.
(Wed, 14 Jul 2010 04:02:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 6618 <at> debbugs.gnu.org (full text, mbox):
In article <201007131239.08209.bernhard.herzog <at> intevation.de>, Bernhard Herzog <bernhard.herzog <at> intevation.de> writes:
> I'm running into the same problem and I've debugged it a little. AFAICT the
> problem was introduced with revision 100788. The revision immediately before
> that works fine, but I can observer the problem with revision 100788. The
> ChangeLog entry for this is
> 2010-07-12 Kenichi Handa <handa <at> m17n.org>
> * font.h (enum font_property_index): New member FONT_ENTITY_INDEX.
> * font.c (font_open_entity): Record ENTITY in FONT_OBJECT's slot
> of FONT_ENTITY_INDEX.
> (Ffont_get): If KEY is :otf and the font-object doesn't have the
> property, get the property value dynamically.
> (Ffont_put): Accept font-entity and font-object too.
> (Ffont_get_glyhphs): Renamed from Fget_font_glyphs. Arguments and
> return value changed.
> (syms_of_font): Adjusted for the above change.
> It's most likely the first change in font.c: "Record ENTITY in FONT_OBJECT's
> slot of FONT_ENTITY_INDEX.":
Thank you for finding that problem. The reason of recording
ENTITY in FONT-OBJECT is that we can get :otf property only
from FONT-OBJECT, but the property should be common to all
font-ojbects realized from the same ENTITY. So, I wanted a
way to get ENTITY from FONT-OBJECT. I've just committed a
change to cancel that recording.
As a result, we should re-caliculate :otf property of a font
whose sibling (i.e. a font-object realized from the same
entity but with different size) already know it. But,
perhaps, that doesn't influence the redisplay speed that
match.
---
Kenichi Handa
handa <at> m17n.org
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#6618
; Package
emacs
.
(Fri, 16 Jul 2010 08:39:01 GMT)
Full text and
rfc822 format available.
Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):
Sorry -- I seem to have lost the bug number, but this is now OK -- thanks
==John ffitch
bug closed, send any further explanations to john ffitch <jpff <at> codemist.co.uk>
Request was from
Chong Yidong <cyd <at> stupidchicken.com>
to
control <at> debbugs.gnu.org
.
(Fri, 16 Jul 2010 15:21:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 14 Aug 2010 11:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 15 years and 26 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.