On 10/24/21 10:11 AM, Klemens Nanni wrote:
I fat fingered commands and it crashed. Here is a reproducer (files do not have to exist): $ vi foo :e :e bar :q! vi(12918) in free(): write after free 0xea559a2d980 Abort trap (core dumped) In words: open a file, open an empty file, open another file, exit forcefully. Here's a backtrace produced with a DEBUG='-g3 -O0' exectuable: #0 thrkill () at /tmp/-:3 3 /tmp/-: No such file or directory. #0 thrkill () at /tmp/-:3 #1 0x00000f8c41ddb78e in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51 #2 0x00000f8c41d8e096 in wrterror (d=0xf8c0ff999e0, msg=0xf8c41d6c911 "write after free %p") at /usr/src/lib/libc/stdlib/malloc.c:307 #3 0x00000f8c41d8ee1a in ofree (argpool=0x7f7fffff3dc0, p=<optimized out>, clear=<optimized out>, check=<optimized out>, argsz=<optimized out>) at /usr/src/lib/libc/stdlib/malloc.c:1439 #4 0x00000f8c41d8e2db in free (ptr=0xf8bcf80a600) at /usr/src/lib/libc/stdlib/malloc.c:1470 #5 0x00000f89c487c803 in opts_free (sp=0xf8c03c1e7a0) at /usr/src/usr.bin/vi/build/../common/options.c:1096 #6 0x00000f89c4880936 in screen_end (sp=0xf8c03c1e7a0) at /usr/src/usr.bin/vi/build/../common/screen.c:192 #7 0x00000f89c489a013 in vi (spp=0x7f7fffff41d8) at /usr/src/usr.bin/vi/build/../vi/vi.c:257 #8 0x00000f89c4875a4b in editor (gp=0xf8c5dfc85f0, argc=1, argv=0x7f7fffff4320) at /usr/src/usr.bin/vi/build/../common/main.c:429 #9 0x00000f89c484566b in main (argc=2, argv=0x7f7fffff4318) at /usr/src/usr.bin/vi/build/../cl/cl_main.c:97 I have no time to look at this myself, feel free to take over.
If it helps to narrow this down I can't reproduce on 6.9 Edgar