Hi

I see a reproducible crash with vim-7.4.1494 (and older)
on xubuntu-14.04 x86_64 when doing:

  $ ./configure --with-features=normal --enable-gui=athena --enable-channel=yes
  $ make
  $ cd src/testdir
  $ make test_channel.res
  ...
  Vim: Caught deadly signal SEGV
  Vim: Finished.
  Segmentation fault (core dumped)

Valgrind reports:

==19306== Memcheck, a memory error detector
==19306== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==19306== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==19306== Command: ../vim -f -u unix.vim -U NONE --noplugin
--not-a-term -u NONE -U NONE -S runtest.vim test_channel.vim
==19306== Parent PID: 19305
==19306==
==19306== Invalid read of size 8
==19306==    at 0x5B7BB31: XFlush (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==19306==    by 0x59CC78: invoke_callback (channel.c:1050)
==19306==    by 0x59F28C: may_invoke_callback (channel.c:1685)
==19306==    by 0x59F28C: channel_parse_messages (channel.c:2461)
==19306==    by 0x59F6C4: channel_read_json_block (channel.c:2149)
==19306==    by 0x43FE88: ch_expr_common (eval.c:10640)
==19306==    by 0x442DE1: call_func (eval.c:8925)
==19306==    by 0x446432: get_func_tv (eval.c:8724)
==19306==    by 0x444D6F: eval7 (eval.c:5239)
==19306==    by 0x444F93: eval6 (eval.c:4890)
==19306==    by 0x445213: eval5 (eval.c:4706)
==19306==    by 0x445EA4: eval4 (eval.c:4401)
==19306==    by 0x445EA4: eval3 (eval.c:4316)
==19306==    by 0x446034: eval2 (eval.c:4248)
==19306==    by 0x446034: eval1 (eval.c:4176)
==19306==    by 0x4462EE: get_func_tv (eval.c:8709)
==19306==    by 0x44B60B: ex_call (eval.c:3527)
==19306==    by 0x46BB0D: do_one_cmd (ex_docmd.c:2921)
==19306==    by 0x46BB0D: do_cmdline (ex_docmd.c:1107)
==19306==    by 0x442385: call_user_func (eval.c:25362)
==19306==    by 0x442D1E: call_func (eval.c:8895)
==19306==    by 0x44E3A4: func_call (eval.c:9891)
==19306==    by 0x442DE1: call_func (eval.c:8925)
==19306==    by 0x446432: get_func_tv (eval.c:8724)
==19306==    by 0x44B60B: ex_call (eval.c:3527)
==19306==    by 0x46BB0D: do_one_cmd (ex_docmd.c:2921)
==19306==    by 0x46BB0D: do_cmdline (ex_docmd.c:1107)
==19306==    by 0x442385: call_user_func (eval.c:25362)
==19306==    by 0x442D1E: call_func (eval.c:8895)
==19306==    by 0x446432: get_func_tv (eval.c:8724)
==19306==    by 0x44B60B: ex_call (eval.c:3527)
==19306==    by 0x46BB0D: do_one_cmd (ex_docmd.c:2921)
==19306==    by 0x46BB0D: do_cmdline (ex_docmd.c:1107)
==19306==    by 0x442385: call_user_func (eval.c:25362)
==19306==    by 0x442D1E: call_func (eval.c:8895)
==19306==    by 0x446432: get_func_tv (eval.c:8724)
==19306==    by 0x44B60B: ex_call (eval.c:3527)
==19306==    by 0x46BB0D: do_one_cmd (ex_docmd.c:2921)
==19306==    by 0x46BB0D: do_cmdline (ex_docmd.c:1107)
==19306==    by 0x44B1D6: ex_execute (eval.c:23580)
==19306==    by 0x46BB0D: do_one_cmd (ex_docmd.c:2921)
==19306==    by 0x46BB0D: do_cmdline (ex_docmd.c:1107)
==19306==    by 0x442385: call_user_func (eval.c:25362)
==19306==    by 0x442D1E: call_func (eval.c:8895)
==19306==    by 0x446432: get_func_tv (eval.c:8724)
==19306==    by 0x44B60B: ex_call (eval.c:3527)
==19306==    by 0x46BB0D: do_one_cmd (ex_docmd.c:2921)
==19306==    by 0x46BB0D: do_cmdline (ex_docmd.c:1107)
==19306==    by 0x4600ED: do_source (ex_cmds2.c:3650)
==19306==    by 0x4607EB: cmd_source (ex_cmds2.c:3263)
==19306==    by 0x46BB0D: do_one_cmd (ex_docmd.c:2921)
==19306==    by 0x46BB0D: do_cmdline (ex_docmd.c:1107)
==19306==    by 0x40C531: exe_commands (main.c:2925)
==19306==    by 0x40C531: main (main.c:955)
==19306==  Address 0x968 is not stack'd, malloc'd or (recently) free'd

Commenting out the call gui_mch_flush() in invoke_callback(...)
at channel.c:1050 makes the test pass, but that's not a proper fix.

The bug might be related to a previous discussion about the
test_channel test failing on OS X.

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