Segfault in vim and lua -- set_ref_in_item

This is a vim bug:

I am experiencing what is probably a niche error, but it's a bit frustrating nonetheless.

Prerequisites: Vim with color_coded, tmux

Steps to reproduce: 1. Open Vim on a file that causes color_coded to be loaded 2. Immediately open a new tmux pane or window 3. Vim segfaults.

Here is my gdb output:

#0  0x0000000000463241 in set_ref_in_item ()                                                                                                                                                      
#1  0x00000000005d4e09 in ?? ()
#2  0x00007ffff5397950 in ?? () from /usr/lib/
#3  0x00007ffff5397d0b in ?? () from /usr/lib/
#4  0x00007ffff539386e in lua_callk () from /usr/lib/
#5  0x00000000005d64f8 in set_ref_in_lua ()
#6  0x000000000046ccfd in garbage_collect ()
#7  0x0000000000532b77 in mch_inchar ()
#8  0x00000000005ae280 in ui_inchar ()
#9  0x00000000004c257f in inchar ()
#10 0x00000000004c457d in ?? ()
#11 0x00000000004c4dce in vgetc ()
#12 0x00000000004c5229 in safe_vgetc ()
#13 0x000000000051205d in normal_cmd ()
#14 0x00000000005ef005 in main_loop ()
#15 0x000000000043a0b0 in main ()

This error doesn't (usually) occur if color_coded is given a few seconds to initialize. I think I've encountered it once or twice even with a fully loaded file, but I haven't been able to reliably reproduce it.

This is not a huge hassle if I remember just to wait a short while after opening vim, but it can be annoying and is probably preventable.


2020/11/22 15:14
  • 点赞
  • 收藏
  • 回答