Manuel Ortega wrote:

> On macOS 10.12.2, with a fresh pull of the repo up to 8.0.169, there are
> suddenly test failures:
>
> ----------------------------------------------------
> VIMRUNTIME=../../runtime; export VIMRUNTIME;  ../vim -f  -u unix.vim -U NONE
> --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
> Vim: Caught deadly signal ABRT
>
> Vim: Finished.
> /bin/sh: line 1: 26731 Abort trap: 6           ../vim -f -u unix.vim -U NONE
> --noplugin --not-a-term -U NONE -S runtest.vim test_channel.vim
>                                                             make[2]: ***
> [test_channel.res] Error 134
>                      make[1]: *** [scripttests] Error 2
>                                                        make: *** [test]
> Error 2



I see the crash as well.  Running tests with asan shows
use of free memory:

=================================================================
==20050==ERROR: AddressSanitizer: heap-use-after-free on address
0x6110000b6340 at pc 0x0000004697a9 bp 0x7ffc55b0bd90 sp
0x7ffc55b0b540
READ of size 1 at 0x6110000b6340 thread T0
    #0 0x4697a8 in __interceptor_strcmp ??:?
    #1 0x6b0a1c in tv_equal /home/pel/sb/vim-mine/src/eval.c:5183
(discriminator 2)
    #2 0x6dfe35 in assert_equal_common /home/pel/sb/vim-mine/src/eval.c:9018
    #3 0x71aed1 in f_assert_equal /home/pel/sb/vim-mine/src/evalfunc.c:1262
    #4 0x712f32 in call_internal_func /home/pel/sb/vim-mine/src/evalfunc.c:1001
    #5 0x144b495 in call_func /home/pel/sb/vim-mine/src/userfunc.c:1372
    #6 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #7 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #8 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #9 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #10 0x1453a7e in call_user_func /home/pel/sb/vim-mine/src/userfunc.c:893
    #11 0x144b13e in call_func /home/pel/sb/vim-mine/src/userfunc.c:1353
    #12 0x144dbb4 in func_call /home/pel/sb/vim-mine/src/userfunc.c:1197
    #13 0x71f90f in f_call /home/pel/sb/vim-mine/src/evalfunc.c:1762
    #14 0x712f32 in call_internal_func /home/pel/sb/vim-mine/src/evalfunc.c:1001
    #15 0x144b495 in call_func /home/pel/sb/vim-mine/src/userfunc.c:1372
    #16 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #17 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #18 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #19 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #20 0x1453a7e in call_user_func /home/pel/sb/vim-mine/src/userfunc.c:893
    #21 0x144b13e in call_func /home/pel/sb/vim-mine/src/userfunc.c:1353
    #22 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #23 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #24 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #25 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #26 0x1453a7e in call_user_func /home/pel/sb/vim-mine/src/userfunc.c:893
    #27 0x144b13e in call_func /home/pel/sb/vim-mine/src/userfunc.c:1353
    #28 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #29 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #30 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #31 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #32 0x1453a7e in call_user_func /home/pel/sb/vim-mine/src/userfunc.c:893
    #33 0x144b13e in call_func /home/pel/sb/vim-mine/src/userfunc.c:1353
    #34 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #35 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #36 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #37 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #38 0x6d79bc in ex_execute /home/pel/sb/vim-mine/src/eval.c:8367
    #39 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #40 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #41 0x1453a7e in call_user_func /home/pel/sb/vim-mine/src/userfunc.c:893
    #42 0x144b13e in call_func /home/pel/sb/vim-mine/src/userfunc.c:1353
    #43 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #44 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #45 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #46 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #47 0x88006d in do_source /home/pel/sb/vim-mine/src/ex_cmds2.c:4111
    #48 0x87c456 in cmd_source /home/pel/sb/vim-mine/src/ex_cmds2.c:3724
    #49 0x87c692 in ex_source /home/pel/sb/vim-mine/src/ex_cmds2.c:3699
    #50 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #51 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #52 0x896570 in do_cmdline_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:715
    #53 0x1619ebc in exe_commands /home/pel/sb/vim-mine/src/main.c:2901
    #54 0x1614a25 in vim_main2 /home/pel/sb/vim-mine/src/main.c:781
    #55 0x160a16a in main /home/pel/sb/vim-mine/src/main.c:415
    #56 0x2b3af6d1df44 in __libc_start_main
/build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287
    #57 0x45fda6 in _start ??:?

0x6110000b6340 is located 0 bytes inside of 200-byte region
[0x6110000b6340,0x6110000b6408)
freed by thread T0 here:
    #0 0x4e6a92 in __interceptor_free ??:?
    #1 0xca67a6 in vim_free /home/pel/sb/vim-mine/src/misc2.c:1727
    #2 0x68a595 in clear_tv /home/pel/sb/vim-mine/src/eval.c:7067
    #3 0x1601779 in json_decode_item /home/pel/sb/vim-mine/src/json.c:988
    #4 0x1601c8e in json_decode /home/pel/sb/vim-mine/src/json.c:1036
    #5 0x15ebb4c in channel_parse_json /home/pel/sb/vim-mine/src/channel.c:1902
    #6 0x15d7cf9 in channel_read_json_block
/home/pel/sb/vim-mine/src/channel.c:3346
    #7 0x15db123 in ch_expr_common /home/pel/sb/vim-mine/src/channel.c:3682
    #8 0x7207e6 in f_ch_evalexpr /home/pel/sb/vim-mine/src/evalfunc.c:1949
    #9 0x712f32 in call_internal_func /home/pel/sb/vim-mine/src/evalfunc.c:1001
    #10 0x144b495 in call_func /home/pel/sb/vim-mine/src/userfunc.c:1372
    #11 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #12 0x6ff930 in eval7 /home/pel/sb/vim-mine/src/eval.c:4349
    #13 0x6fa99f in eval6 /home/pel/sb/vim-mine/src/eval.c:3977
    #14 0x6f8364 in eval5 /home/pel/sb/vim-mine/src/eval.c:3793
    #15 0x6f2402 in eval4 /home/pel/sb/vim-mine/src/eval.c:3492
    #16 0x6f1215 in eval3 /home/pel/sb/vim-mine/src/eval.c:3409
    #17 0x6ab875 in eval2 /home/pel/sb/vim-mine/src/eval.c:3341
    #18 0x68b956 in eval1 /home/pel/sb/vim-mine/src/eval.c:3269
    #19 0x1447430 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:425
    #20 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #21 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #22 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #23 0x1453a7e in call_user_func /home/pel/sb/vim-mine/src/userfunc.c:893
    #24 0x144b13e in call_func /home/pel/sb/vim-mine/src/userfunc.c:1353
    #25 0x144dbb4 in func_call /home/pel/sb/vim-mine/src/userfunc.c:1197
    #26 0x71f90f in f_call /home/pel/sb/vim-mine/src/evalfunc.c:1762
    #27 0x712f32 in call_internal_func /home/pel/sb/vim-mine/src/evalfunc.c:1001
    #28 0x144b495 in call_func /home/pel/sb/vim-mine/src/userfunc.c:1372
    #29 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455

previously allocated by thread T0 here:
    #0 0x4e6d72 in malloc ??:?
    #1 0xca3c60 in lalloc /home/pel/sb/vim-mine/src/misc2.c:942
    #2 0xca38eb in alloc /home/pel/sb/vim-mine/src/misc2.c:840
    #3 0xcb154c in ga_grow /home/pel/sb/vim-mine/src/misc2.c:2017
    #4 0x1604a7f in json_decode_string /home/pel/sb/vim-mine/src/json.c:494
    #5 0x15fd266 in json_decode_item /home/pel/sb/vim-mine/src/json.c:691
    #6 0x1601c8e in json_decode /home/pel/sb/vim-mine/src/json.c:1036
    #7 0x15ebb4c in channel_parse_json /home/pel/sb/vim-mine/src/channel.c:1902
    #8 0x15d7cf9 in channel_read_json_block
/home/pel/sb/vim-mine/src/channel.c:3346
    #9 0x15db123 in ch_expr_common /home/pel/sb/vim-mine/src/channel.c:3682
    #10 0x7207e6 in f_ch_evalexpr /home/pel/sb/vim-mine/src/evalfunc.c:1949
    #11 0x712f32 in call_internal_func /home/pel/sb/vim-mine/src/evalfunc.c:1001
    #12 0x144b495 in call_func /home/pel/sb/vim-mine/src/userfunc.c:1372
    #13 0x1447db7 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:455
    #14 0x6ff930 in eval7 /home/pel/sb/vim-mine/src/eval.c:4349
    #15 0x6fa99f in eval6 /home/pel/sb/vim-mine/src/eval.c:3977
    #16 0x6f8364 in eval5 /home/pel/sb/vim-mine/src/eval.c:3793
    #17 0x6f2402 in eval4 /home/pel/sb/vim-mine/src/eval.c:3492
    #18 0x6f1215 in eval3 /home/pel/sb/vim-mine/src/eval.c:3409
    #19 0x6ab875 in eval2 /home/pel/sb/vim-mine/src/eval.c:3341
    #20 0x68b956 in eval1 /home/pel/sb/vim-mine/src/eval.c:3269
    #21 0x1447430 in get_func_tv /home/pel/sb/vim-mine/src/userfunc.c:425
    #22 0x1470a4a in ex_call /home/pel/sb/vim-mine/src/userfunc.c:2981
    #23 0x8a8c0e in do_one_cmd /home/pel/sb/vim-mine/src/ex_docmd.c:2967
    #24 0x891492 in do_cmdline /home/pel/sb/vim-mine/src/ex_docmd.c:1115
    #25 0x1453a7e in call_user_func /home/pel/sb/vim-mine/src/userfunc.c:893
    #26 0x144b13e in call_func /home/pel/sb/vim-mine/src/userfunc.c:1353
    #27 0x144dbb4 in func_call /home/pel/sb/vim-mine/src/userfunc.c:1197
    #28 0x71f90f in f_call /home/pel/sb/vim-mine/src/evalfunc.c:1762
    #29 0x712f32 in call_internal_func /home/pel/sb/vim-mine/src/evalfunc.c:1001

Shadow bytes around the buggy address:
  0x0c228000ec10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c228000ec20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c228000ec30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c228000ec40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c228000ec50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c228000ec60: fa fa fa fa fa fa fa fa[fd]fd fd fd fd fd fd fd
  0x0c228000ec70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c228000ec80: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c228000ec90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c228000eca0: fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa
  0x0c228000ecb0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==20050==ABORTING

Aborted (core dumped)
make: *** [test_channel.res] Error 134


> On top of this, the terminal is messed up after the test failure occurs.
>
> -Manny

A messed up terminal can happen if vim dies in cooked
mode. Typing the command "reset" should fix the terminal.

Regards
Dominique

-- 
-- 
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].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui