turner@uicsrd.csrd.uiuc.edu (Steve Turner) (10/05/89)
I recently updated our vax (4.3BSD) version of emacs from 18.49 to 18.55. No big deal, I thought... However, when some terminal types (unusual ones - like vt100, sun, etc.) are set as the TERM environment variable; and TERMCAP is not defined, or is the same rather than a "true" termcap entry; then emacs dies in a call to free()! I have tracked it down as far as I can to the 'free(buf.beg);' line in tgetent() in termcap.c Because /usr/lib/libtermcap.a does exist on our system (generic 4.3, as far as I know), I tried changing m-vax.h to include the line: #define LIBS_TERMCAP -ltermcap /* inside #ifdef BSD, of course */ Which seems to have fixed the problem, by compiling temacs with -ltermcap instead of termcap.o Why is this not the default? Am I asking for trouble on *other* terminal types now? How come nobody else has had this problem on one of the most popular OS/machine combinations out there??? A dbx `where` at the point of error follows .signature --------------------------------------------------------------------------- Steve Turner (on the Si prairie - UIUC CSRD) UUCP: {ihnp4,seismo,pur-ee,convex}!uiucdcs!uicsrd!turner ARPANET: turner%uicsrd.csrd.uiuc.edu CSNET: turner%uicsrd@uiuc.csnet *-) Mutants for BITNET: turner@uicsrd.csrd.uiuc.edu Nuclear Power! (-% ___________________________________________________________________________ ;-) dbx emacs-18.55.2 dbx version 3.21 of 6/5/86 16:40 (monet.Berkeley.EDU). Type 'help' for help. reading symbolic information ... (dbx) run can't write to process (address 0x3c06e) (dbx) quit 12.9u 4.6s 1:59 14% 110+2691k 212+2io 10pf+0w ;-) dbx /nobackup/err dbx version 3.21 of 6/5/86 16:40 (monet.Berkeley.EDU). Type 'help' for help. reading symbolic information ... (dbx) run Illegal instruction (reserved addressing fault) in kill at 0x36968 00036968 bcs 3695c (dbx) where kill(0x5a18, 0x4) at 0x36968 abort() at 0x361c4 $b132, line 558 in "malloc.c" free(mem = "t:\\n^I:am:bs:co#80:li#24:cm=\E^Q%r%>\036\240%+\140%+\140:\\n^I:al=35\E^Z:dl=35\E^S:cd=10\E^X:ce=\E^O:cl=\E^\:\\n^I:up=\E^L:do=\E^K:nd=^P:se=\E^Y:so=\E^_:is=\E^Y:\nl4|adm42|42|lsi adm42:\\n^I:vs=\EC\E3 \E3(:\\n^I:cr=^M:do=^J:nl=^J:bl=^G:\\n^I:al=270\EE:am:le=^H:bs:cd=\EY:ce=\ET:cl=\E;:cm=\E=%+ %+ :co#80:\\n^I:dc=\EW:dl=\ER:ei=\Er:im=\Eq:ip=6*:li#24:\\n^I:bt=\EI:nd=^L:se=\EG0:so=\EG4:ta=\t:up=^k:\\n^I:ma=^K^P:pc=\177:\n#\n# Apple Mac\n#\n# Installed at Sun by John Gilmore (untested). Via netnew s, from:\n# Robert Viduya: ...!gatech!gitpyr!robert\n# Office of Computing Services\n# Georgia Institute of Technology, Atlanta GA 30332\n# Phone: (404) 894-4669\nAm|mac|macintosh|Apple Macintosh with MacTerminal:\\n^I:AL=\E[%dL:al=\E[L:am:bl=^G:bs:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\\n^I:cm=\E[%i%d;%dH:co#80:cs=\E[%i%d;%dr:ct=\E[g:DC=\E[%dP:\\n^I:dc=\E[P:DL=\E[%dM:dl=\E[M:do=\E[B:DO=\E[%dB:ei=:ho=\E[H:\\n^I:IC=\E[%d@ :ic=\E[@ :im=:is=\E(B\E[2l\E[20l\E[?3l\E[?7h:\\n^I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kn#4:kr=\E[C:k u=\E[A:\\n^I:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:LE=\E[%dD:le=\E[D:li#24:\\n^I:ll=\E[24;1H:ms:nd=\E[C:nw=\EE:pt:rc=\E8:ri=\E[C:RI=\E[%dC:\\n^I:sc=\E7:se=\E[m:sf=\ED:so=\E[1m:sr=\EM:st=\EH:ue=\E[m:\\n^I:up=\E[A:UP=\E[%dA:us=\E[4m:xn:xo:\n#\nsu|lnet|dumb|un|unknown:\\n^I:co#80:os:am:\nsd|du|dialup:\\n^I:co#80:os:am:\nV3|vi300|visual function keys:\\n^I:bl=^G:do=^J:bt=\E[Z:ul:\:am:al=\E[L:\:cm=\E[%i%2;%2H:\\n^I:bs:cd=\E[J:ce=\E[K:cl=\E[H\E[2N:\:co#80:ho=\E[H:\\n^I:dl=\E[M:dc=\E[P:\:im=\E[4h:ei=\E[4l:\\n^I:kl=\E[D :kr=\E[C:ku=\E[A:kd=\E[B:kh=\E[H:\\n^I:ma=\E[Dh\E[Bj\E[Ak\E[Cl:so=\E[1m:se=\E[0m:\:us=\E[4m:ue=\E[0m:\\n^I:mf=\E[w:me=^M:ll=\E[24;1f:\:li#24:nd=\E[C:pt:up=\E[A:\ndV|xterms|xterm|vt102|vt100|vt-100|pt100|pt-100|dec vt100:\\n^I:co#80:li#24:am:cl=50\E[;H\E[2J:bs:cm=5\E[%i%2;%2H:nd=2\E[C:up=2\E[A:\\n^I:ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\\n^I:is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\\n^I:if=/usr/lib/tabset/vt100:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:\\n^I:kh=\E[H:k1=\EOP: k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=5\EM:\ndf|dw4|decwriter IV:\\n^I:cr=^M:do=^J:bl=^G:le=^H:bs:co#132\037777777661\037777777657\037777777774"), line 558 in "malloc.c" tgetent(bp = "emacs:co#80:tc=unknown:su|lnet|dumb|un|unknown:^I:co#80:os:am:\n", name = "emacs"), line 527 in "termcap.c" term_init(terminal_type = "emacs"), line 958 in "term.c" init_display(), line 1441 in "dispnew.c" main(argc = 1, argv = 0x7fffe938, envp = 0x7fffe940), line 354 in "emacs.c" crt0.start1(argc = 1, xargv = "/nobackup/err"), line 304 in "crt0.c" _start(), line 291 in "crt0.c" (dbx) --------------------------------------------------------------------------- Steve Turner (on the Si prairie - UIUC CSRD) UUCP: {ihnp4,seismo,pur-ee,convex}!uiucdcs!uicsrd!turner ARPANET: turner%uicsrd.csrd.uiuc.edu CSNET: turner%uicsrd@uiuc.csnet *-) Mutants for BITNET: turner@uicsrd.csrd.uiuc.edu Nuclear Power! (-%