🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #99990

small xwindow init loops

#99990
From: Steve Chappelow
Date: Mon, 19 Feb 1990 01:07
54 lines
3661 bytes
Summary: display initialization does not correctly deal with very
small xterm windows and enters infinite recursion.

Under X11R3, with a 3 line xterminal window open I fire up emacs and
it dies with either a Seg violation or an Illegal intruction.  This is
repeatable on a Sun 3, Sun 4 under SunOS 4.0.3.  On and SGI 4D/240,
Irix 3.2.1, Emacs 18.54, the emacs process just grows until the
machine runs out of swap space, since limit(1) has been
de-implemented.

The other significant diagnostic is a console message like

sendsig: bad user stack pid=16891, sig=11
usp is edfffd4, action is 9cfb0, upc is 2ca56

from my sun 3 for instance.  A glance at the kernel source code leads
me to believe that the user stack is corrupt at the time sendsig is
called.  I don't know if this is a direct result of emacs Fsignal(),
or uncontrolled stack growth and a stack fault/signal not having any
stack to be handled on.  A chain of events such as: stack page fault
can't extent stack -> sengsig(SIGSEGV) can't take signal on short
stack -> sendsig(SIGILL) -> ?

Here is a stack trace after several loops through Fsignal/Fthrow.
I've continued this loop for hundreds of calls, so I think it may be
unending.  Could it be that error() tries to print the message and
can't find a (minibuffer) window to print it in, thus causing another
error? Since this stack trace was made from gdb under emacs on emacs I
had to 'set' the terminal_type to vt100 from emacs that gdb supplies
to its subshell to get to not croak about 'not powerfull enough...'.
Also I manually set screen_height down to 3.  Still this is repeatable
from a plain 3 line xterm window from the csh, so my testing shouldn't
be effecting the experiment.


Using GNU Emacs 18.52.6 of Fri Nov  4 1988 on griffin (berkeley-unix)
(gdb) bt
#0  Fcons (car=17993956, cdr=85188104) (alloc.c line 175)
#1  0x46178 in Fthrow (tag=17993976, val=85102272) (eval.c line 873)
#2  0x467c8 in Fsignal (sig=17994176, data=85188112) (eval.c line 1055)
#3  0x4618c in Fthrow (tag=17993976, val=85102272) (eval.c line 873)
#4  0x467c8 in Fsignal (sig=17994176, data=85188288) (eval.c line 1055)
#5  0x4618c in Fthrow (tag=17993976, val=85102272) (eval.c line 873)
#6  0x467c8 in Fsignal (sig=17994176, data=85188304) (eval.c line 1055)
#7  0x4618c in Fthrow (tag=17993976, val=85102272) (eval.c line 873)
#8  0x467c8 in Fsignal (sig=17994176, data=85188392) (eval.c line 1055)
#9  0x4618c in Fthrow (tag=17993976, val=85101800) (eval.c line 873)
#10 0x467c8 in Fsignal (sig=17993976, data=85188408) (eval.c line 1055)
#11 0x46a38 in error (m=(char *) 0xf082d "Attempt to delete minibuffer or sole ordinary window", a1=20, a2=16777215, a3=1203332) (eval.c line 1109)
#12 0xc424 in Fdelete_window (window=-134218632) (window.c line 355)
#13 0xd2ac in set_window_height (window=336747652, height=2, nodelete=0) (window.c line 723)
#14 0xb8c0 in init_xdisp () (xdisp.c line 2017)
#15 0x15cd8 in main (argc=1, argv=(char **) 0xf7fffdcc, envp=(char **) 0xf7fffdd4) (emacs.c line 359)
(gdb) 
Technical Details
Message-ID: <9002190107.AA29271@kira.uvm.EDU>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!kira.uvm-gen.uvm.edu!swc

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,ac1e3ee26d795e7d,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1990-02-19 10:17:13 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!kira.uvm-gen.uvm.edu!swc
From: swc@kira.uvm-gen.uvm.edu (Steve Chappelow)
Newsgroups: gnu.emacs.bug
Subject: small xwindow init loops
Message-ID: <9002190107.AA29271@kira.uvm.EDU>
Date: 19 Feb 90 01:07:05 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 54
Posted: Mon Feb 19 02:07:05 1990