Article View: gnu.emacs.bug
Article #99990small xwindow init loops
From: Steve Chappelow
Date: Mon, 19 Feb 1990 01:07
Date: Mon, 19 Feb 1990 01:07
54 lines
3661 bytes
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!swcShow 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