Yegappan wrote:
> > > The Vim9 LSP plugin (https://github.com/yegappan/lsp) has the > > > following line in the autoload/lsp/lspserver.vim file: > > > > > > hover: function(Hover, [lspserver]), > > > > > > If this line is changed to: > > > > > > hover: function('Hover', [lspserver]), > > > > > > then Vim crashes with the "E342: Out of memory! (allocating > > > 18446744073709551608 bytes)" error. > > > > > > This is because the func_type_add_arg_types() function is called with > > > argcount set to -1. The valgrind traceback is below: > > > > > > ==109472== Argument 'size' of function malloc has a fishy (poss> ibly > > > negative) value: -8 > > > ==109472== at 0x4843839: malloc (in > > > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > > > ==109472== by 0x13F453: lalloc (alloc.c:248) > > > ==109472== by 0x13F35A: alloc_clear (alloc.c:177) > > > ==109472== by 0x3D2273: func_type_add_arg_types (vim9type.c:> 308) > > > ==109472== by 0x3D296B: typval2type_int (vim9type.c:466) > > > ==109472== by 0x3D2B6D: typval2type (vim9type.c:518) > > > ==109472== by 0x3D268A: typval2type_int (vim9type.c:404) > > > ==109472== by 0x3D2B6D: typval2type (vim9type.c:518) > > > ==109472== by 0x3D2D2A: check_typval_type (vim9type.c:585) > > > ==109472== by 0x3BEF89: exec_instructions (vim9execute.c:450> 9) > > > ==109472== by 0x3C13BE: call_def_function (vim9execute.c:518> 8) > > > ==109472== by 0x39E4D8: call_user_func (userfunc.c:2575) > > > > > > I am not able to come up with a small Vim9 script that reproduces this > > > > issue. > > > > Hi Yegappan, > > > > valgrind truncates the stack to 12 calls by default. > > Can you reproduce with "valgrind --num-callers=50 …" > > to have a deeper stack? > > > > The valgrind traceback with "--num-callers=50" is below: > > ==109742== Argument 'size' of function malloc has a fishy (possibly > negative) value: -8 > ==109742== at 0x4843839: malloc (in > /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) > ==109742== by 0x13F453: lalloc (alloc.c:248) > ==109742== by 0x13F35A: alloc_clear (alloc.c:177) > ==109742== by 0x3D2273: func_type_add_arg_types (vim9type.c:308) > ==109742== by 0x3D296B: typval2type_int (vim9type.c:466) > ==109742== by 0x3D2B6D: typval2type (vim9type.c:518) > ==109742== by 0x3D268A: typval2type_int (vim9type.c:404) > ==109742== by 0x3D2B6D: typval2type (vim9type.c:518) > ==109742== by 0x3D2D2A: check_typval_type (vim9type.c:585) > ==109742== by 0x3BEF89: exec_instructions (vim9execute.c:4509) > ==109742== by 0x3C13BE: call_def_function (vim9execute.c:5188) > ==109742== by 0x39E4D8: call_user_func (userfunc.c:2575) > ==109742== by 0x39F72A: call_user_func_check (userfunc.c:2974) > ==109742== by 0x3A07E1: call_func (userfunc.c:3540) > ==109742== by 0x39CBAB: get_func_tv (userfunc.c:1782) > ==109742== by 0x3A4F00: ex_call (userfunc.c:5412) > ==109742== by 0x1D22E1: do_one_cmd (ex_docmd.c:2567) > ==109742== by 0x1CF327: do_cmdline (ex_docmd.c:993) > ==109742== by 0x309B01: do_source (scriptfile.c:1516) > ==109742== by 0x422C86: source_startup_scripts (main.c:3189) > ==109742== by 0x41EE1A: main (main.c:412) What is the smallest script to reproduce this problem? The quoted line is missing context. -- If your nose runs, and your feet smell, you might be upside down. /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/20220220164850.5AD051C0FE0%40moolenaar.net.
