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.