tbodt / deoplete-tabnine

Deoplete source for TabNine
256 stars 17 forks source link

Neovim freez when using TabNine #51

Closed tzachar closed 3 years ago

tzachar commented 3 years ago

Hi.

Been using TabNine for a long while. Lately (neovim nightly), neovim started freezing, mostly when closing or switching buffers. The main nevom process is hanged on an epoll from the TabNine client, and killing the TabNine process unfreezes everything.

Is this a know issue? Is there a workaround?

Shougo commented 3 years ago

Unfortunately, it is TabNine's problem...

tzachar commented 3 years ago

Ok, but I think we can better interact with the process. Dumping the request as json directly to the process's stdin and directly reading from its stdout is probably not robust. A better option would be to use non blocking reads, like the attached patch. I'll report if the patch helps.

p.txt

Shougo commented 3 years ago

Please send the PR. I will test it.

Shougo commented 3 years ago

Hm. If edit huge buffer, tabnine process is very busy. I will add the option for it.

Shougo commented 3 years ago

@tzachar The issue should be closed.

tzachar commented 3 years ago

right.