$ sysctl -n kern.version ; pkg_info -m | grep neovim
        OpenBSD 6.9-current (GENERIC.MP) #124: Sat Jul 10 22:50:17 MDT 2021
            dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP

        neovim-0.4.4        continuation and extension of Vim
        py3-neovim-0.4.1p0  Python plugin support for Neovim


neovim segfaults when I open distrib/miniroot/install.sub (unmodified
revision 1.1167), search for "resolv.conf" and hit "n" five times.

No other search pattern or file has reproduced it for me (very odd given
the time and context).


To exclude personal configuration, here is a reproducer:

        $ echo nnnnn | nvim -u NORC -i NONE +/resolv.conf -s /dev/stdin 
install.sub
        Segmentation fault (core dumped)                                        
           

Using `-u NONE' or `-u NORC --clean' instead of `-u NORC' fixes it.
Using `-u NORC --noplugin' does not fix it.

Adding `--cmd "set re=1"' to the mix changes the behaviour of the
aforementioned combinations.

The backtrace is always the same.

        $ egdb -q -batch -ex bt nvim nvim.core
        [New process 102623]
        [New process 378025]
        Core was generated by `nvim'.
        Program terminated with signal SIGSEGV, Segmentation fault.
        #0  strchr () at /usr/src/lib/libc/arch/amd64/string/strchr.S:115
        115             movq    (%rdi),%rax     /* aligned word containing 
first data */
        [Current thread is 1 (process 102623)]
        #0  strchr () at /usr/src/lib/libc/arch/amd64/string/strchr.S:115
        #1  0xf5c32a474811b79e in ?? ()
        #2  0x000008f1510bb8d0 in bt_regexec_both ()
        #3  0x000008f1510ade1e in vim_regexec_multi ()
        #4  0x000008f15114ee0d in syn_regexec ()
        #5  0x000008f15114f302 in find_endpos ()
        #6  0x000008f15114ea65 in update_si_end ()
        #7  0x000008f151146c6f in syntax_start ()
        #8  0x000008f1510f076f in win_line ()
        #9  0x000008f1510e80d4 in win_update ()
        #10 0x000008f1510e48d8 in update_screen ()
        #11 0x000008f15105eeea in normal_check.llvm ()
        #12 0x000008f151141e41 in state_enter ()
        #13 0x000008f151009a75 in main ()


I have little time at hand to look into this further but will try to
pick it up later.

Perhaps someone else can reproduce or even pin this down before me.

Reply via email to