Repository navigation
Vim crashes when a lambda assigns to a member of a captured function argument. #21460
Copy link
Copy link
Closed
Labels
Description
Activity
- added a commit that references this issue
on Oct 6, 2026 Crash on Fedora 44:
PID: 7405 (vim) UID: 1000 (joe) GID: 1000 (joe) Signal: 11 (SEGV) Timestamp: Mon 2026-10-12 09:20:33 EDT (6s ago) Command Line: vim -u NONE -N -S repro.vim Executable: /usr/bin/vim Control Group: /user.slice/user-1000.slice/[email protected]/app.slice/app-org.kde.konsole-6178.scope/tab(6213).scope Unit: [email protected] User Unit: app-org.kde.konsole-6178.scope Slice: user-1000.slice Owner UID: 1000 (joe) Boot ID: 9014d7bc636d4ab8b9d921dc534303ad Machine ID: ceff3c9fb3d94a699ddbc2741c4ccd26 Hostname: customer.atlagax1.isp.starlink.com Storage: /var/lib/systemd/coredump/core.vim.1000.9014d7bc636d4ab8b9d921dc534303ad.7405.1791811233000000.zst (present) Size on Disk: 166.3K Package: vim/9.2.1129-1.fc44 build-id: 0d25cefbf360a84286d251e2d136b14cbe85f548 Message: Process 7405 (vim) of user 1000 dumped core. Module libpcre2-8.so.0 from rpm pcre2-10.47-1.fc44.1.x86_64 Module libgpm.so.2 from rpm gpm-1.20.7-53.fc44.x86_64 Module libacl.so.1 from rpm acl-2.4.0-1.fc44.x86_64 Module libsodium.so.26 from rpm libsodium-1.0.22-1.fc44.x86_64 Module libtinfo.so.6 from rpm ncurses-6.6-1.fc44.x86_64 Module libselinux.so.1 from rpm libselinux-3.11-2.fc44.x86_64 Module vim from rpm vim-9.2.1129-1.fc44.x86_64 Stack trace of thread 7405: #0 0x00007f5f3d08e1bb kill (libc.so.6 + 0x1a1bb) #1 0x000055d843ed8c7f mch_exit (vim + 0x1c9c7f) #2 0x000055d8440aadfc getout (vim + 0x39bdfc) #3 0x00007f5f3d08dfb0 __restore_rt (libc.so.6 + 0x19fb0) #4 0x000055d84402362e exec_instructions.lto_priv.0 (vim + 0x31462e) #5 0x000055d844025264 call_def_function (vim + 0x316264) #6 0x000055d843ffc55e call_user_func (vim + 0x2ed55e) #7 0x000055d843ffd86f call_user_func_check (vim + 0x2ee86f) #8 0x000055d843ffac6d call_func (vim + 0x2ebc6d) #9 0x000055d843ff2ca3 get_func_tv (vim + 0x2e3ca3) #10 0x000055d843d8d856 eval_func.lto_priv.0 (vim + 0x7e856) #11 0x000055d843d8f3f4 eval9 (vim + 0x803f4) #12 0x000055d843d90221 eval5 (vim + 0x81221) #13 0x000055d843d905e8 eval4.lto_priv.0 (vim + 0x815e8) #14 0x000055d843d90a8a eval2.lto_priv.0 (vim + 0x81a8a) #15 0x000055d843d93cac eval0_retarg (vim + 0x84cac) #16 0x000055d843df24d9 ex_eval (vim + 0xe34d9) #17 0x000055d843ddefc1 do_one_cmd (vim + 0xcffc1) #18 0x000055d843de29eb do_cmdline (vim + 0xd39eb) #19 0x000055d843f4ed2b do_source_ext.lto_priv.0 (vim + 0x23fd2b) #20 0x000055d843f4c2c9 cmd_source.lto_priv.0 (vim + 0x23d2c9) #21 0x000055d843ddefc1 do_one_cmd (vim + 0xcffc1) #22 0x000055d843de29eb do_cmdline (vim + 0xd39eb) #23 0x000055d843d15b36 main (vim + 0x6b36) #24 0x00007f5f3d077681 __libc_start_call_main (libc.so.6 + 0x3681) #25 0x00007f5f3d077798 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x3798) #26 0x000055d843d16c45 _start (vim + 0x7c45) ELF object binary architecture: AMD x86-64- added a commit that references this issue
on Oct 7, 2026
Steps to reproduce
vim -u NONE -N -S some_script.vimExpected behaviour
Vim sets key in the dict, as it does when the lambda captures a local variable instead of an argument, or Vim reports an error.
Version of Vim
9.2 patches 1-1129 (fedora 44), 9.2 patches 1-321 (MacVim), and latest 9.2 AppImage.
Environment
fedora 44
TTY, iTerm(3.6.11), and Konsole (26.08.1)
xterm-256color & linux
BASh
Logs and stack traces
From AppImage binary: