Does :call garbagecollect(1) trigger the crash?
>
> This is gvim 32-bit running on 64-bit Windows 7.
>
> --
> --
> 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 vim_dev+u...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
vim 7.4 from the Kubuntu repository does not, even with :call garbagecollect()
I'll make a debug build...
Regards, John Little
> I'll make a debug build...
Here's the last 12 lines of the backtrace:
#174623 0x0000000000461591 in set_ref_in_item (tv=0x3945220, copyID=2)
at eval.c:6974
#174624 0x00000000004614d9 in set_ref_in_list (l=0x2b89410, copyID=2)
at eval.c:6942
#174625 0x0000000000461591 in set_ref_in_item (tv=0x2b9f040, copyID=2)
at eval.c:6974
#174626 0x00000000004614d9 in set_ref_in_list (l=0x2b893b0, copyID=2)
at eval.c:6942
#174627 0x0000000000461591 in set_ref_in_item (tv=0x26adc00, copyID=2)
at eval.c:6974
#174628 0x000000000046149b in set_ref_in_ht (ht=0x8bb470 <globvardict+16>,
copyID=2) at eval.c:6927
#174629 0x000000000046126a in garbage_collect () at eval.c:6805
#174630 0x00000000004cb51f in vgetc () at getchar.c:1562
#174631 0x00000000004cbaf6 in safe_vgetc () at getchar.c:1795
#174632 0x000000000051bb67 in normal_cmd (oap=0x7fff19a758c0, toplevel=1)
at normal.c:666
#174633 0x0000000000620b5c in main_loop (cmdwin=0, noexmode=0) at main.c:1329
#174634 0x0000000000620468 in main (argc=1, argv=0x7fff19a75bc8) at main.c:1020
Never had a backtrace 174,634 levels deep before.
HTH, and regards, John Little
Indeed.
>The solution would be to make this iterative instead of recursive.
>Not so easy to do.
Indeed, I wasn't game to try. Be nice if it failed more gracefully, but other than imposing an arbitrary limit on the depth of a structure I can't think how. Even that would not be simple.
Regards, John