jeromejj / vim

Automatically exported from code.google.com/p/vim
0 stars 0 forks source link

Vim exits with error "ICE default IO error handler doing an exit(), pid = 6769, errno = 32" #156

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Summary:

Vim exits with the error:

ICE default IO error handler doing an exit(), pid = 6769, errno = 32

What steps will reproduce the problem?

1. In a terminal, run:

$ for i in $(seq 1 60); do echo foo; sleep 1; done | vim -

2. Wait for about a minute and vim will exit with this error message:

"-stdin-" 60L, 240CICE default IO error handler doing an exit(), pid = 6769, 
errno = 32

What is the expected output? What do you see instead?

Vim should not exit with such an error.
It should display instead 60 lines containing "foo".  

What version of the product are you using? On what operating system?

I'm using vim-7.4a.39 BETA on Linux x86_64 (xubuntu-12.10).
In case it matters, Vim was configured with:

./configure --enable-gui=gtk2 --with-features=huge 
--enable-pythoninterp=dynamic --enable-python3interp=dynamic 
--enable-tclinterp=yes --enable-rubyinterp=dynamic  --enable-mzschemeinterp 
--enable-luainterp=dynamic

Please provide any additional information below.

Interestingly, reducing 60 to 55 in the above command does trigger the error 
anymore. In other words, the following command works all the time:

$ for i in $(seq 1 55); do echo foo; sleep 1 ; done | vim -

I also see that the default vim with xubuntu-12.10 (that vim-7.3.547 in 
/usr/bin/vim) does not have this bug. So either it's a regression introduced 
recently, or a different compilation option triggers the bug or not.

I happen to find this bug because I ran something like this in a slow svn 
repository:

$ svn log | vim -

This caused vim to exit with the "ICE default IO error handler doing an exit()" 
error.  After trial and error, I found that I could reproduce this bug using a 
more reproducible command:

$ for i in $(seq 1 60); do echo foo; sleep 1; done | vim -

Original issue reported on code.google.com by dominiqu...@gmail.com on 22 Jul 2013 at 6:27

GoogleCodeExporter commented 9 years ago
The bug does not happen when starting vim with the -X option. So this works:

$ for i in $(seq 1 60); do echo foo; sleep 1; done | vim -X -

vim-7.3.547 in /usr/bin/vim (xubuntu-12.10) is not affected by this bug because 
it is built without X11 feature. But the same version recompiled with +X11 
feature has the bug.

Original comment by dominiqu...@gmail.com on 22 Jul 2013 at 7:50

GoogleCodeExporter commented 9 years ago
FWIW, my vim 7.4a.35, huge with GTK2 (and so with +X11) on Kubuntu 13.04 does 
not give this trouble; I've tried with 60, 65 and 125.

Regards, John Little

Original comment by John.B.L...@gmail.com on 23 Jul 2013 at 6:00

GoogleCodeExporter commented 9 years ago
The error also happens when using options -u NONE --noplugin:

$ for i in $(seq 1 60); do echo foo; sleep 1; done | vim -u NONE --noplugin -
... wait ~ 1 minute...
"-stdin-" 60 lines, 240 charactersICE default IO error handler doing an exit(), 
pid = 3477, errno = 32

errno = 32 means EPIPE (broken pipe).

Besides happening on xubuntu-12.10, I can also reproduce it on another machine 
which uses xubuntu-12.04.2, vim-7.4a.39 BETA.

But I cannot reproduce it on an older machine: ubuntu-10.10, vim-7.4a.39 BETA.

Original comment by dominiqu...@gmail.com on 23 Jul 2013 at 7:11