Closed huiyiqun closed 8 years ago
There are definitely some bugs in "syntastic" because it also slow down the boot of my neovim in states that it could be booted finally. However there must be some problems in d1b7647.
update: only in elvish will syntastic slow down the boot of neovim.
~> vim
^CException: nvim killed by signal interrupt
Traceback:
[interactive], line 16:
fn vim { nvim $@ }
[interactive], line 1:
vim
~> chsh
Changing shell for huiyiqun.
Password:
chsh: Authentication token manipulation error
Exception: chsh exited with 1
Traceback:
[interactive], line 1:
chsh
~> sudo chsh
Changing shell for root.
New shell [/bin/bash]: ⏎
~> cat
/usr/bin/cat: -: Resource temporarily unavailable
Exception: cat exited with 1
Traceback:
[interactive], line 1:
cat
according to strace, neovim is stuck because it's waiting for epoll_wait
to fd 10, and the fd 10 is:
lrwx------ 1 huiyiqun huiyiqun 64 Oct 13 02:34 10 -> 'anon_inode:[eventpoll]'
similar problem with tmuxline: following is strace:
) = 0
epoll_ctl(10, EPOLL_CTL_ADD, 35, {EPOLLIN, {u32=35, u64=35}}) = 0
epoll_wait(10, [{EPOLLIN, {u32=35, u64=35}}], 1024, -1) = 1
read(35, "unknown option: status-utf8\n", 65536) = 28
epoll_wait(10,
but if I hit Ctrl-C
it's recovered.
Noticing that "unknown option: status-utf8\n" is related to a known issue of tmuxline. (not related)
This is really weird. It is hard to imagine signal relaying in elvish will affect external commands.
Can you make sure that elvish built from https://github.com/elves/elvish/commit/d1b7647925c0307a95572ddaa2762cafbf945cb7 does not contain this bug?
I cannot reproduce your condition with chsh
and cat
.
The only plausible explanation is that https://github.com/elves/elvish/commit/d1b7647925c0307a95572ddaa2762cafbf945cb7 has uncovered a race condition. The reason I cannot reproduce this is that I have a different operating system and configurations that affects the timing of elvish's execution.
Has this been fixed by 93726224bfd60f74d7acd7e1dc0495d5a4a86fad?
Fixed.
Followings are all in tmux in zsh.
strace when neovim is stuck: