GNU bug report logs - #1787
23.0.60; `concat' with longer strings aborts Emacs ungracefully

Previous Next

Package: emacs;

Reported by: Markus Triska <markus.triska <at> gmx.at>

Date: Mon, 5 Jan 2009 01:30:03 UTC

Severity: normal

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 1787 in the body.
You can then email your comments to 1787 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1787; Package emacs. (Mon, 05 Jan 2009 01:30:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Markus Triska <markus.triska <at> gmx.at>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 05 Jan 2009 01:30:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Markus Triska <markus.triska <at> gmx.at>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; `concat' with longer strings aborts Emacs ungracefully 
Date: Mon,  5 Jan 2009 02:23:20 +0100 (CET)
On OSX and Ubuntu jaunty machines with 1 GB RAM, doing:

    $ emacs -Q --eval "(let ((v \"x\")) (while t (setq v (concat v v))))"

aborts Emacs with the following backtrace:

   (gdb) bt
   #0  0x9010d3db in abort ()
   #1  0x0013a561 in make_uninit_multibyte_string (nchars=-536870912, nbytes=-536870912) at alloc.c:2503
   #2  0x0013a590 in make_uninit_string (length=-536870912) at alloc.c:2486
   #3  0x00159210 in concat (nargs=2, args=0xbfffec90, target_type=Lisp_String, last_special=0) at fns.c:619
   #4  0x00152c10 in Feval (form=41853805) at eval.c:2348
   #5  0x00152cbc in Fsetq (args=41853797) at eval.c:551
   #6  0x00152b58 in Feval (form=41853789) at eval.c:2322
   #7  0x00152e34 in Fprogn (args=41853837) at eval.c:449
   #8  0x00155199 in Fwhile (args=41853781) at eval.c:1111
   #9  0x00152b58 in Feval (form=41853773) at eval.c:2322
   #10 0x00152e34 in Fprogn (args=41853845) at eval.c:449
   #11 0x001552a5 in Flet (args=41853765) at eval.c:1089
   #12 0x00152b58 in Feval (form=41853733) at eval.c:2322
   #13 0x00153621 in Ffuncall (nargs=2, args=0xbffff0b0) at eval.c:3050
   #14 0x0018cb8b in Fbyte_code (bytestr=2175051, vector=2175068, maxdepth=10) at bytecode.c:678
   #15 0x00152f2b in funcall_lambda (fun=2175020, nargs=1, arg_vector=0xbffff254) at eval.c:3231
   #16 0x0015340e in Ffuncall (nargs=2, args=0xbffff250) at eval.c:3101
   #17 0x0018cb8b in Fbyte_code (bytestr=2161403, vector=2161420, maxdepth=7) at bytecode.c:678
   #18 0x00152f2b in funcall_lambda (fun=2161380, nargs=0, arg_vector=0xbffff3e4) at eval.c:3231
   #19 0x0015340e in Ffuncall (nargs=1, args=0xbffff3e0) at eval.c:3101
   #20 0x0018cb8b in Fbyte_code (bytestr=2158059, vector=2158076, maxdepth=6) at bytecode.c:678
   #21 0x00152f2b in funcall_lambda (fun=2158036, nargs=0, arg_vector=0xbffff500) at eval.c:3231
   #22 0x00153196 in apply_lambda (fun=2158036, args=58721289, eval_flag=1) at eval.c:3155
   #23 0x001528e0 in Feval (form=35544669) at eval.c:2435
   #24 0x000e3a9c in top_level_2 () at keyboard.c:1358
   #25 0x00151798 in internal_condition_case (bfun=0xe3a80 <top_level_2>, handlers=58760953, hfun=0xea6ef <cmd_error>) at eval.c:1511
   #26 0x000e3ae4 in top_level_1 () at keyboard.c:1366
   #27 0x001513ea in internal_catch (tag=58757025, func=0xe3aa2 <top_level_1>, arg=58721289) at eval.c:1247
   #28 0x000e37ff in command_loop () at keyboard.c:1321
   #29 0x000e38cf in recursive_edit_1 () at keyboard.c:942
   #30 0x000e3a17 in Frecursive_edit () at keyboard.c:1004
   #31 0x000e282f in main (argc=4, argv=0xbffff97c) at emacs.c:1786

   Lisp Backtrace:
   "concat" (0xbfffec90)
   "setq" (0xbfffede8)
   "while" (0xbfffeed8)
   "let" (0xbffff008)
   "eval" (0xbffff0b4)
   "command-line-1" (0xbffff254)
   "command-line" (0xbffff3e4)
   "normal-top-level" (0xbffff500)

To me, throwing an error seems to be much preferable in this case.

In GNU Emacs 23.0.60.1 (i386-apple-darwin8.11.1, GTK+ Version 2.12.9)
 of 2008-12-25 on mt-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
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: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t




Reply sent to Chong Yidong <cyd <at> stupidchicken.com>:
You have taken responsibility. (Tue, 27 Jan 2009 21:25:03 GMT) Full text and rfc822 format available.

Notification sent to Markus Triska <markus.triska <at> gmx.at>:
bug acknowledged by developer. (Tue, 27 Jan 2009 21:25:03 GMT) Full text and rfc822 format available.

Message #10 received at 1787-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Markus Triska <markus.triska <at> gmx.at>
Cc: 1787-done <at> debbugs.gnu.org
Subject: Re: 23.0.60; `concat' with longer strings aborts Emacs ungracefully 
Date: Tue, 27 Jan 2009 16:17:52 -0500
> On OSX and Ubuntu jaunty machines with 1 GB RAM, doing:
>
>     $ emacs -Q --eval "(let ((v \"x\")) (while t (setq v (concat v
>     v))))"
>
> aborts Emacs

I've checked in a fix.  Thanks.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Wed, 25 Feb 2009 15:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 179 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.