Bug#3166: SIGSEGV on TERM=dumb
Package=nvi
Version:1.34-7
When I invoke nvi with TERM=dumb, I always get a segmentation fault
with core dumped. I would expect an error message like 'Terminal does
not appear to support cursor addressing.' like dselect does, or go
into line mode like elvis does. Maybe this bug is in ncurses, since
setterm in an ncurses routine, and nvi manages to bring it out.
I have libc 4.6.27-6, and kernel image 1.2.13-5 installed. I don't
know what version of ncurses-developer was used to compile nvi.
Script started on Fri May 31 12:58:30 1996
# export TERM=dumb
# nvi
Segmentation fault (core dumped)
# gdb nvi core
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.14 (i486-debian-linux), Copyright 1995 Free Software Foundation, Inc...
Core was generated by `nvi'.
#0 0x4767c in setterm ()
(gdb) where
#0 0x4767c in setterm ()
#1 0x45235 in initscr ()
#2 0x3c623 in svi_curses_init ()
#3 0x3fb62 in svi_screen_edit ()
#4 0x148ae in main ()
(gdb) info frame
Stack level 0, frame at 0xbffff178:
eip = 0x4767c in setterm; saved eip 0x45235
called by frame at 0xbffff184
Arglist at 0xbffff178, args:
Locals at 0xbffff178, Previous frame's sp is 0x0
Saved registers:
ebx at 0xbffff16c, ebp at 0xbffff178, eip at 0xbffff17c
(gdb) x /3x 0xbffff178
0xbffff178 <end+3220902524>: 0xbffff184 0x00045235 0x00055fa5
(gdb) x /s 0x55fa5
0x55fa5 <end+32937>: "dumb"
(gdb) quit
# ldd /usr/bin/nvi
libc.so.4 (DLL Jump 4.6pl27) => /lib/libc.so.4.6.27
# exit
Script done on Fri May 31 12:59:10 1996
Neil Turton.
+--------------------------------------------------+----------------------+
| Neil Turton, Assistant computer officer | Snail Mail to: |
| Part III mathematics student | Churchill college, |
| http://www.chu.cam.ac.uk/home/ndt1001/home.html | Cambridge. CB3 0DS. |
+--------------------------------------------------+----------------------+
| GCM(M) d H s+:- !g p0>+ !au(-) a- w+ v C+++@ UL++++$(+++) P+ L+++ 3- |
| E++ N-(+) K- W--- M-- V po Y+ t-- 5 !j R- G? !tv(-) b+ D+ B? e+++ u(*) |
| h-- f !r>+++ n+ y? |
+-------------------------------------------------------------------------+
Reply to: