GNU bug report logs - #14643
specpdl change crashes Emacs (Solaris 10 sparc + Sun cc)

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Mon, 17 Jun 2013 16:10:01 UTC

Severity: important

Done: Paul Eggert <eggert <at> cs.ucla.edu>

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 14643 in the body.
You can then email your comments to 14643 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-gnu-emacs <at> gnu.org:
bug#14643; Package emacs. (Mon, 17 Jun 2013 16:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Paul Eggert <eggert <at> cs.ucla.edu>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 17 Jun 2013 16:10:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: bug-gnu-emacs <at> gnu.org
Subject: specpdl change crashes Emacs (Solaris 10 sparc + Sun cc)
Date: Mon, 17 Jun 2013 09:08:46 -0700
In trying out Emacs porting I found that the latest Emacs
trunk doesn't build on Solaris 10 32-bit sparc, Solaris 10,
compiled with Sun C 5.12 2011/11/16 (which is, I think,
the latest release available at no cost).

The problem was introduced some time between trunk bzr 112827
and 112838.  The intervening revisions don't compile.  I'm
pretty sure the problem was introduced in bzr 112828
(which merged the specpdl and backtrace stacks).

A brief look at the specpdl change did uncover one portability
(calculation of an address before the start of dynamically
allocated storage, which isn't portable), which I plan to fix,
but I expect the actual problem is somewhere else.

Here's a backtrace that I get while running temacs on trunk
bzr 112838 to create bootstrap-emacs.  I plan to take more of a
look at it more later, but am filing this bug report now to
document the problem.

I can't use GDB (it can't grok the Sun-generated executable),
and the bug apparently goes away if one disables optimizing.


current thread: t <at> 1
=>[1] mark_object(arg = 2) (optimized), at 0x1cee9c (line ~5866) in "alloc.c"
  [2] mark_specpdl() (optimized), at 0x1f2340 (line ~3309) in "eval.c"
  [3] Fgarbage_collect() (optimized), at 0x1ce0fc (line ~5253) in "alloc.c"
  [4] maybe_gc() (optimized), at 0x1ebc24 (line ~3969) in "lisp.h"
  [5] Ffuncall(nargs = <value unavailable>, args = 0xffbfe850) (optimized), at 0x1f0aec (line ~2662) in "eval.c"
  [6] call1(fn = 5148554, arg1 = 7768262) (optimized), at 0x1f08a4 (line ~2510) in "eval.c"
  [7] readevalloop(readcharfun = 6194581, stream = (nil), sourcename = 6092777, printflag = 0, unibyte = <value unavailable>, readfun = 4978386, start = 4978386, end = 4978386) (optimized), at 0x21a950 (line ~1872) in "lread.c"
  [8] Feval_buffer(buffer = <value unavailable>, printflag = 4978386, filename = 6113281, unibyte = 4978386, do_allow_print = <value unavailable>) (optimized), at 0x21abcc (line ~1935) in "lread.c"
  [9] Ffuncall(nargs = <value unavailable>, args = <value unavailable>) (optimized), at 0x1f1004 (line ~2729) in "eval.c"
  [10] exec_byte_code(bytestr = <value unavailable>, vector = <value unavailable>, maxdepth = <value unavailable>, args_template = <value unavailable>, nargs = <value unavailable>, args = <value unavailable>) (optimized), at 0x234014 (line ~903) in "bytecode.c"
  [11] funcall_lambda(fun = 5442349, nargs = 4, arg_vector = 0xffbfeb90) (optimized), at 0x1f16f0 (line ~2948) in "eval.c"
  [12] Ffuncall(nargs = <value unavailable>, args = <value unavailable>) (optimized), at 0x1f10c8 (line ~2760) in "eval.c"
  [13] call4(fn = 5351986, arg1 = 6113281, arg2 = 6113281, arg3 = 4978386, arg4 = 4978386) (optimized), at 0x1f091c (line ~2559) in "eval.c"
  [14] Fload(file = 6113569, noerror = 0, nomessage = 4978386, nosuffix = <value unavailable>, must_suffix = <value unavailable>) (optimized), at 0x219410 (line ~1286) in "lread.c"
  [15] eval_sub(form = <value unavailable>) (optimized), at 0x1efde8 (line ~2097) in "eval.c"
  [16] internal_lisp_condition_case(var = 4978386, bodyform = 4995678, handlers = 5434966) (optimized), at 0x1edfa0 (line ~1169) in "eval.c"
  [17] Fcondition_case(args = 4995694) (optimized), at 0x1eddf4 (line ~1111) in "eval.c"
  [18] eval_sub(form = <value unavailable>) (optimized), at 0x1efb2c (line ~2029) in "eval.c"
  [19] readevalloop(readcharfun = 5065098, stream = 0x4b94b0, sourcename = 5153721, printflag = 0, unibyte = <value unavailable>, readfun = 4978386, start = 4978386, end = 4978386) (optimized), at 0x21a95c (line ~1873) in "lread.c"
  [20] Fload(file = 5071993, noerror = 1, nomessage = 4978386, nosuffix = <value unavailable>, must_suffix = <value unavailable>) (optimized), at 0x219810 (line ~1345) in "lread.c"
  [21] eval_sub(form = <value unavailable>) (optimized), at 0x1efde8 (line ~2097) in "eval.c"
  [22] Feval(form = 4992374, lexical = <value unavailable>) (optimized), at 0x1ef4b4 (line ~1918) in "eval.c"
  [23] top_level_2() (optimized), at 0x151dac (line ~1173) in "keyboard.c"
  [24] internal_condition_case(bfun = 0x151d9c = &`temacs`keyboard.c`top_level_2(), handlers = 5027634, hfun = 0x1519e8 = &`temacs`keyboard.c`cmd_error(Lisp_Object data)) (optimized), at 0x1ee104 (line ~1214) in "eval.c"
  [25] top_level_1(ignore = 4978386) (optimized), at 0x151dec (line ~1181) in "keyboard.c"
  [26] internal_catch(tag = 5025594, func = 0x151dbc = &`temacs`keyboard.c`top_level_1(register Lisp_Object ignore), arg = 4978386) (optimized), at 0x1edc14 (line ~988) in "eval.c"
  [27] command_loop() (optimized), at 0x151d08 (line ~1142) in "keyboard.c"
  [28] recursive_edit_1() (optimized), at 0x151564 (line ~776) in "keyboard.c"
  [29] Frecursive_edit() (optimized), at 0x151708 (line ~840) in "keyboard.c"
  [30] main(argc = <value unavailable>, argv = <value unavailable>) (optimized), at 0x14dcf8 (line ~1539) in "emacs.c"
(dbx) 




Reply sent to Paul Eggert <eggert <at> cs.ucla.edu>:
You have taken responsibility. (Tue, 18 Jun 2013 07:49:02 GMT) Full text and rfc822 format available.

Notification sent to Paul Eggert <eggert <at> cs.ucla.edu>:
bug acknowledged by developer. (Tue, 18 Jun 2013 07:49:04 GMT) Full text and rfc822 format available.

Message #10 received at 14643-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: 14643-done <at> debbugs.gnu.org
Subject: Re:  specpdl change crashes Emacs (Solaris 10 sparc + Sun cc)
Date: Tue, 18 Jun 2013 00:48:50 -0700
I installed a fix as part of trunk bzr 113040
and am marking this as done.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 16 Jul 2013 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 337 days ago.

Previous Next


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