On Sat, Feb 13, 2016 at 5:36 AM, Christian Brabandt <cbli...@256bit.org>
wrote:

> Hi Bram!
>
> On Fr, 12 Feb 2016, Bram Moolenaar wrote:
>
> >
> > Patch 7.4.1306
> > Problem:    Job control doesn't work well on MS-Windows.
> > Solution:   Various fixes. (Ken Takata, Ozaki Kiichi , Yukihiro
> Nakadaira,
> >             Yasuhiro Matsumoto)
> > Files:      src/Make_mvc.mak, src/eval.c, src/os_unix.c, src/os_win32.c,
> >             src/proto/os_unix.pro, src/proto/os_win32.pro, src/structs.h
>
> This patch breaks appveyor (I assume the test_channel test)
> https://ci.appveyor.com/project/chrisbra/vim/build/602
>

Crash is caused by WM_NETBEANS message issued by WSAAsyncSelect().


let h = job_start('py testdir/test_channel.py')
let port = []
sleep 1
let port = readfile('Xportnr')
call delete('Xportnr')
let c = ch_open('localhost:' . port[0])

echo ch_sendexpr(c, 'hello!')
" => request(hello!)
" <= response(got it)     (Raise WM_NETBEANS and it remains in message
queue)

call job_stop(h)
" Remote socket is closed.

":sleep 1
" Catch WM_NETBEANS.  But socket is already closed.
" E896: read from channel: A non-blocking socket operation could not be
completed immediately.

for i in range(1000)
  try
    throw "err"
  catch
    " When WM_NETBEANS is catched in ex_catch(), it breaks memory.
    "   ex_catch():
    "   1585                     caught = vim_regexec_nl(&regmatch,
current_exception->value,
    "   1586                             (colnr_T)0);
    " gui_mch_update() is executed in vim_regexec_nl().  And error is
thrown.
    "   read_channel():
    "   1262             PERROR(_("E896: read from channel"));
    " And current_exception is free()ed.
    "   cause_errthrow():
    "   228         discard_current_exception();
    " And the freed memory is used later.
  endtry
endfor


-- 
Yukihiro Nakadaira - yukihiro.nakada...@gmail.com

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

Raspunde prin e-mail lui