I did a vi -r on a file and then tried to save after my system lost power
and I got a segfault when I tried to save the file. I tried ZZ and :w and
:w blah.txt and it would segfault every time. I couldn't get it to save.
I'm on OpenBSD potato.lan 6.6 GENERIC.MP#372 amd64 and I recently did a
sysupgrade last week.
Here is the vi.core dump gdb report:

GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or 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.
This GDB was configured as "amd64-unknown-openbsd6.6"...(no debugging
symbols found)

Core was generated by `vi'.
Program terminated with signal 11, Segmentation fault.
(no debugging symbols found)
Loaded symbols for /usr/bin/vi
Reading symbols from /usr/lib/libcurses.so.14.0...done.
Loaded symbols for /usr/lib/libcurses.so.14.0
Reading symbols from /usr/lib/libutil.so.13.1...done.
Loaded symbols for /usr/lib/libutil.so.13.1
Reading symbols from /usr/lib/libc.so.95.1...done.
Loaded symbols for /usr/lib/libc.so.95.1
Reading symbols from /usr/libexec/ld.so...Error while reading shared
library symbols:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2)
[in module /usr/libexec/ld.so]
#0  __rec_ret (t=0xbc40d4b1c00, e=Variable "e" is not available.
) at /usr/src/lib/libc/db/recno/rec_utils.c:83
83              if (rl->flags & P_BIGDATA) {
(gdb) where
#0  __rec_ret (t=0xbc40d4b1c00, e=Variable "e" is not available.
) at /usr/src/lib/libc/db/recno/rec_utils.c:83
#1  0x00000bc410bda920 in __rec_get (dbp=Variable "dbp" is not available.
) at /usr/src/lib/libc/db/recno/rec_get.c:93
#2  0x00000bc1dfc30bee in ?? () from /usr/bin/vi
#3  0x00000bc1dfc2c90d in ?? () from /usr/bin/vi
#4  0x00000bc1dfc2e86d in ?? () from /usr/bin/vi
#5  0x00000bc1dfc2c467 in ?? () from /usr/bin/vi
#6  0x00000bc1dfc19d8d in ?? () from /usr/bin/vi
#7  0x00000bc1dfc3d708 in ?? () from /usr/bin/vi
#8  0x00000bc1dfc4a0db in ?? () from /usr/bin/vi
#9  0x00000bc1dfc3312e in ?? () from /usr/bin/vi
#10 0x00000bc1dfc146d2 in ?? () from /usr/bin/vi
#11 0x00000bc1dfc1313b in ?? () from /usr/bin/vi
#12 0x0000000000000000 in ?? ()
Current language:  auto; currently minimal
(gdb)

-alfred

Reply via email to