On Mon, 15 Feb 2016, Bram Moolenaar wrote:

Christian J. Robinson wrote:

On Mon, 15 Feb 2016, Bram Moolenaar wrote:

Patch 7.4.1322
Problem:    Crash when unletting the variable that holds the channel in a
           callback function.  (Christian Robinson)
Solution:   Increase the reference count while invoking the callback.
Files:      src/eval.c, src/channel.c, src/proto/eval.pro,
           src/testdir/test_channel.vim

This does fix the bug I reported, but not the earlier crash bug I
reported which I still can't seem to reproduce with a simple script.
I'll keep working on it.

We may have to add some more log statements, so that you can see what
happens before the crash.

Aha. I can now reproduce this one reliably. It's similar to the previous, but involves using ch_close() inside the callback function.

Like before, put both attached files in the same directory, then source channelcrash2.vim

- Christian

--
  Fiction is obliged to stick to possibilities. Truth isn't.  -- Mark Twain
Christian J. Robinson <[email protected]>      http://christianrobinson.name/

Attachment: channelcrash2.vim
Description: Binary data

Attachment: channelcrash2.pl
Description: Binary data

Raspunde prin e-mail lui