Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TabNine keeps dying #300

Closed
tzachar opened this issue Nov 17, 2020 · 29 comments
Closed

TabNine keeps dying #300

tzachar opened this issue Nov 17, 2020 · 29 comments

Comments

@tzachar
Copy link

tzachar commented Nov 17, 2020

please complete the following information:

  • OS version: [e.g. Win 10, Mac Catalina]
    Ubuntu 18.04
  • Editor: [e.g. vscode, intelij, sublime]
    nvim
  • Editor version:
  • Programming language: [e.g. js, ts, c++]
    python
  • TabNine extension version: 3.2.13

If the issue is related to TabNine failure, please provide log files:

Type TabNine::config in your editor, the logs are located at the bottom of the page.

[2020-11-17T10:59:56.588403304+02:00][INFO][22047 thread][watchdog_server::monitor_loop][Some("tabnine/watchdog_server/src/monitor_loop.rs")][Some(222)] killing process 22047
-TabNine because cpu exceeded: 3.574491

Issue Details:

TabNine keeps dying with the above message.

@amircodota
Copy link
Contributor

This log indicates that the TabNine process was utilizing too much cpu.

A few questions:

  1. Is this a "big" project? How many files are in it, approximately? Does the issue still occur if you work on another project?
  2. Is there a .gitignore file at the root of the project?
  3. Do you have more than one vim open?
  4. Did it happen to you before or did it start happen lately?

Thanks
Amir

@tzachar
Copy link
Author

tzachar commented Nov 17, 2020

This log indicates that the TabNine process was utilizing too much cpu.

A few questions:

  1. Is this a "big" project? How many files are in it, approximately? Does the issue still occur if you work on another project?

Yes. A big project. 29891 files, ~1000 python source files.

  1. Is there a .gitignore file at the root of the project?

yes.

  1. Do you have more than one vim open?

Always.

  1. Did it happen to you before or did it start happen lately?

Started happening lately, I'd say around 2 weeks.

Cheers.

@amircodota
Copy link
Contributor

Also, if you can attach the tabnine config file?

located in linux, under ~/.config/TabNine/tabnine_config.json

@amircodota
Copy link
Contributor

amircodota commented Nov 17, 2020

One more thing - is this by any chance an open source project that I can try myself?

@tzachar
Copy link
Author

tzachar commented Nov 17, 2020

No

@codota codota deleted a comment from tzachar Nov 17, 2020
@amircodota
Copy link
Contributor

@tzachar deleted your config file, since it had your api key

@tzachar
Copy link
Author

tzachar commented Nov 17, 2020

missed it....

@amircodota
Copy link
Contributor

We just released binary version 3.2.18, which fixes some issues around these areas.

Please let us know if this issue persists or not

@amircodota
Copy link
Contributor

One more question - is this the project you've always worked on with tabnine? Any chance it significantly grew in size lately? Did something else change about it that you think might be relevant?

@tzachar
Copy link
Author

tzachar commented Nov 18, 2020

Same project. No major changes.

@amircodota
Copy link
Contributor

@tzachar Any news? Did our latest version help?

@tzachar
Copy link
Author

tzachar commented Nov 25, 2020 via email

@amircodota
Copy link
Contributor

Can you check which tabnine version you currently have running? (type tabnine::version in your editor).

Also, check your tabnine binaries dir and check which versions you have there?

Thanks

@tzachar
Copy link
Author

tzachar commented Nov 26, 2020 via email

@amircodota
Copy link
Contributor

@tzachar what about your binaries directory? what versions do you have under it?

@tzachar
Copy link
Author

tzachar commented Nov 26, 2020 via email

@amircodota
Copy link
Contributor

@tzachar can you list the files/directories under 3.2.22 and under 3.2.26?

@bresilla
Copy link

bresilla commented Nov 26, 2020

I can confirm that this is happening with completion-nvim too. Version 3.2.25-Linux.

@amircodota
Copy link
Contributor

@bresilla Can you check which subdirectory you have under your 3.2.25 folder?
I suspect it has x86_64-unknown-linux-musl while the plugin expects there to be x86_64-unknown-linux-gnu

@tzachar
Copy link
Author

tzachar commented Nov 29, 2020

@tzachar can you list the files/directories under 3.2.22 and under 3.2.26?

under 3.2.26:
x86_64-unknown-linux-musl

under 3.2.22:
3.2.22/x86_64-unknown-linux-gnu/TabNine

lookes like im am using the 3.2.22

@amircodota
Copy link
Contributor

@tzachar yep, this confirms my suspicion.

We have a bug in 3.2.22 that causes its auto update mechanism to create the wrong directory name for linux.
This causes the deoplete plugin to run the older version (3.2.22) again. 3.2.22 sees that a new version is available and exits, and on and on it goes :-)

As a workaround, you can rename the x86_64-unknown-linux-musl folder under 3.2.26 to x86_64-unknown-linux-gnu

We are releasing version 3.2.27 with a fix for this issue.
Note that once it is out and downloaded, it will again have the wrong directory name (the bug still exists in 3.2.26 which does the downloading). So you'll have to rename the folder again under 3.2.27.

Once you have 3.2.27 running correctly, things should be back to normal in terms of updates.

Hope my explanation is clear :-).

@tzachar
Copy link
Author

tzachar commented Nov 29, 2020

Gr8, i'll give it a try and wait for 3.2.27
I can confirm that following your advice I get 3.2.26 running now.

@bresilla
Copy link

@amircodota

Thanks for clarification. Yes it was a problem with selecting the version.

When the new version is downloaded, the symlink of binary is not updated, thus still pointing to the old binary. This is probably fault of the plugin that deals with getting the latest TabNine binary not the TabNine. Thanks again and sorry for polluting this thread with what's probably the problem with the code/text editor plugin not TabNine itself.

Anyways, for anyone that might find interesting or has similar problem, this is how i fixed that:

If you go to your plugin directory (where vim-plug or pathogen installed this plugin), you would have a binaries directory. There would be the TabNine binary and folder called 3.2.22.

The executable is symlink (shortcut) to the binary in the 3.2.22 binary. However, when you open VIM/NVIM, it automatically downloads the latest Tabnine, thus a folder 3.2.25 (or whatever version is the latest) is created, but the TabNne binary symlink is not changed.

To fix it, i simply updated this link. For me was:
cd $HOME/.config/plug_vim/completion-tabnine/binaries/ <- plugin directory
ln -sf 3.2.25/x86_64-unknown-linux-musl/TabNine TabNine_Linux <- updating the binary symlink

And it works :)

@tzachar
Copy link
Author

tzachar commented Nov 29, 2020

@amircodota

Thanks for clarification. Yes it was a problem with selecting the version.

When the new version is downloaded, the symlink of binary is not updated, thus still pointing to the old binary. This is probably fault of the plugin that deals with getting the latest TabNine binary not the TabNine. Thanks again and sorry for polluting this thread with what's probably the problem with the code/text editor plugin not TabNine itself.

Anyways, for anyone that might find interesting or has similar problem, this is how i fixed that:

If you go to your plugin directory (where vim-plug or pathogen installed this plugin), you would have a binaries directory. There would be the TabNine binary and folder called 3.2.22.

The executable is symlink (shortcut) to the binary in the 3.2.22 binary. However, when you open VIM/NVIM, it automatically downloads the latest Tabnine, thus a folder 3.2.25 (or whatever version is the latest) is created, but the TabNne binary symlink is not changed.

To fix it, i simply updated this link. For me was:
cd $HOME/.config/plug_vim/completion-tabnine/binaries/ <- plugin directory
ln -sf 3.2.25/x86_64-unknown-linux-musl/TabNine TabNine_Linux <- updating the binary symlink

And it works :)

Well, this depends on the specific vim plugin you are using. It is not the issue @amircodota mentioned, which is internal to TabNine.

@amircodota
Copy link
Contributor

@tzachar @bresilla glad to hear things are working.

@tzachar I opened an issue regarding this in the tabnine deoplete plugin repo.

@Shougo
Copy link
Contributor

Shougo commented Nov 30, 2020

3.2.28 is already released now.

@tzachar
Copy link
Author

tzachar commented Nov 30, 2020 via email

@amircodota
Copy link
Contributor

@tzachar still happening? :-(

Can you send over the tabnine.log?

@tzachar
Copy link
Author

tzachar commented Dec 2, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants