[comp.emacs] core dumps with gnu-emacs

Hds@CIS.UPENN.EDU (Human Designed Systems) (09/30/88)

We are trying to bring up GNU EMACS 18.51 on a 386 PC clone running
V.3 (from Interactive Systems) and everything looks good except we get
occasional core dumps (all are "segment violations.")

The core dumps happen whenever we try to use any help commands that
access key/command descriptions (like "C-h B" describe-bindings.)
A few other commands dump too, like "ESC-ESC" eval-expression", but
they all trace down to a call to "concat" with bogus arguments.
Here is a sample trace from one of the dumps (from "describe-bindings"):

Source path: .
kill: address 0x43bcc
*kill() has no subroutine linkage (pushl)
	Maybe kill(365,11) from fatal_error_signal(sig=11)
                                                [emacs.c:138] <-- My guess
	Maybe kill() from make_display_lines(11)   [dispnew.c:157]
fatal_error_signal(sig=11)   [emacs.c:138]
concat(nargs=2147482448,args=0x3431624,target_type=3,last_special=0)
                                                                [fns.c:269]
Fmapconcat(fn=21203372,seq=54728180,sep=54728220)   [fns.c:1001]
describe_map(map=88339792,keys=54728180,partial=0,shadow=21175304)
                                                            [keymap.c:990]
describe_map_tree(startmap=88339816,partial=0,shadow=21175304)  [keymap.c:954]
describe_buffer_bindings(descbuf=121825540)   [keymap.c:909]
internal_with_output_to_temp_buffer(bufname=*Help*,
            function=describe_buffer_bindings,args=121825540)   [print.c:268]
Fdescribe_bindings()   [keymap.c:890]
Ffuncall(nargs=1,args=0x7ffffc54)   [eval.c:1681]
Fcall_interactively(function=21203852,record=21175304)   [callint.c:444]
Fcommand_execute(cmd=21203852,record=21175304)   [keyboard.c:1426]
command_loop_1()   [keyboard.c:650]
internal_condition_case(bfun=command_loop_1,handlers=21175544,hfun=cmd_error)
                                                                [eval.c:996]
command_loop_2(21175304)   [keyboard.c:418]
internal_catch(tag=21175524,func=command_loop_2,arg=21175304)   [eval.c:814]
command_loop()   [keyboard.c:400]
Frecursive_edit()   [keyboard.c:288]
main(argc=1,argv=0x7fffff04,envp=0x7fffff0c)   [emacs.c:438]

The line in "concat" it actually dies on is:
    this = args[argnum];
where "argnum" always == 0.

The top two levels are always "concat" and "Fmapconcat", the next level
function can be "Fkey_description".

We build emacs using "s-usg5-3.h" and "m-intel386.h"

Has anyone brought up GNU-EMACS under Interactive Systems V.3?
Can anyone make a suggestion as to what exactly is going wrong?

Any help would be deeply appreciated.

Dave Warker
CSNET: hds@cis.upenn.edu

karl@haddock.ima.isc.com (Karl Heuer) (10/06/88)

In article <8809301722.AA19696@central.cis.upenn.edu> Hds@CIS.UPENN.EDU (Human Designed Systems) writes:
>We are trying to bring up GNU EMACS 18.51 on a 386 PC clone running
>V.3 (from Interactive Systems) and everything looks good except we get
>occasional core dumps [in concat]

If this is the problem I think it is, the situation is that the optimizer and
the assembler version of alloca() are making conflicting assumptions.  So you
have two workarounds: either turn off the optimizer (at least when compiling
functions that call alloca()) or use the C implementation of alloca().

Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint