-
Notifications
You must be signed in to change notification settings - Fork 36
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
After the last update the completion does not seem to work any more #71
Comments
Hello @gabesoft, thanks for reaching out! Seems like Tabnine is crushing unexpectedly, can you run Tabnine's binary (located under the binaries folder in Tabnine's installation folder) directly from your terminal and attach the output here? cd <Tabnine installation folder>/binaries
./TabNine --log_to_stderr |
Same issue here,
|
My log output looks similar to @gogoprog's. Adding here anyway just in case there are any differences.
|
Thanks for the logs guys, we will investigate this and get back to you asap |
This part of the log may be relevant. Looks like the process was killed because the memory exceeded.
|
@gogoprog your log indicates that you ran the 2.9.2 version while you have newer versions in the binaries directory. |
@gabesoft TabNine has a watchdog component that will kill tabnine if it consumes too much memory. This can happen on occasion but it should not happen too often. Do you see the tabnine process being killed and exit? |
I think the other one was the one serving the config page. I had that open at the time. |
It's been happening pretty often for me. I usually re-start the process by running |
@gabesoft can you describe the issue. When you open vim - does tabnine immediately crash or does it run for a while before crashing? |
It runs for a very short time before crashing. I usually restart it via |
It just happened again. I had re-started it a couple of mins ago and now it's already dead with the same log message
Although, I wonder why there are two processes being killed. This time I didn't have the config running. |
Can you output the command line arguments that are given to the tabnine process? You can probably see it in ps or in /proc/{pid}/cmdline |
Here's the output of
|
can you run
and paste the output here? |
|
Sorry, I used the same port as the other process. Let's change the port
|
|
This should create two processes. Can you check how much memory they consume? Let's give it a few minutes and see if it stays up |
They already died:
|
Directories in binaries:
Command output:
|
Both the logs seem fine. @gogoprog Did the process exit or did it keep running? @gabesoft In your case, your pid is 96405, and tabnine is killing another pid 96628, which exceeded memory. [2020-12-07T12:37:28.792359-08:00][INFO][96405 thread][watchdog_server::monitor_loop][Some("tabnine/watchdog_server/src/monitor_loop.rs")][Some(251)] killing process 96628-TabNine because memory exceeded: 3418669 |
It kept running |
@gogoprog A few requests/questions:
For example, @gabesoft had /Users/gabe/.vim/plugs/tabnine-vim/python/ycm/../../binaries/3.2.37/x86_64-apple-darwin/TabNine --client=vim --port=56895 --options_file=/var/folders/k3/8j6c46gj37ngfqk8g7cqhyl40000gn/T/tmporfh9vll --log=info --idle_suicide_seconds=1800 --stdout=/var/folders/k3/8j6c46gj37ngfqk8g7cqhyl40000gn/T/ycmd_56895_stdout_0wom12gc.log --stderr=/var/folders/k3/8j6c46gj37ngfqk8g7cqhyl40000gn/T/ycmd_56895_stderr_sjeddcwq.log and he changed it to /Users/gabe/.vim/plugs/tabnine-vim/python/ycm/../../binaries/3.2.37/x86_64-apple-darwin/TabNine --client=vim --port=56995 --options_file=/var/folders/k3/8j6c46gj37ngfqk8g7cqhyl40000gn/T/tmporfh9vll --log=info --idle_suicide_seconds=1800 --stdout=/var/folders/k3/8j6c46gj37ngfqk8g7cqhyl40000gn/T/ycmd_56895_stdout_0wom12gc.log --stderr=/var/folders/k3/8j6c46gj37ngfqk8g7cqhyl40000gn/T/ycmd_56895_stderr_sjeddcwq.log --log_to_stderr Thanks |
I can't find anything relevant in the logs. Also all the log files are empty. |
@gogoprog did the process exit after a few minutes or did it keep running? |
Yes it kept running. This was the full log from Vim startup to TabNine error. |
I'm afraid this log does not give much. I need the log of TabNine running under vim. To do this, we'll need to modify the plugin code a bit. if you edit youcompleteme.py under the under python/ycm folder, you can add a --log-file-path parameter to the tabnine process. this is the original code
you can change it to something like
|
@amircodota here it is. Same scenario: |
I did have another instance of vim open The size of the repo where tabnine keeps crashing is
as output by |
Is there a config setting or some other way to increase the memory threshold. On my system I have enough memory to be OK with a higher threshold. |
@gogoprog in your log, I see a lot of errors around the clang LSP. Can you disable semantic completions and see if the situation improves? |
@amircodota I will test but the same issue occurs with my |
@gabesoft I'm afraid no such setting exists. However, I do not think tabnine's memory should grow so much. So this usually indicates some kind of bug. I suspect increasing the memory will just cause tabnine's memory to keep growing. But I could be wrong. In any case, can you also add --log-file-path to your vim plugin code and send the log file? See this comment |
@gabesoft here's what I see in the log. The process was started at 11:56:15.
This means it is a fairly large project, taking so long to index. Then, at 11:58:17 we get this message
And the process is killed. TabNine will only ever kill a process two minutes after it started, so I'm guessing the memory limit was reached sooner, and it just now passed the 2 minutes limit so it only killed it now. One thing you can try is to exclude files from indexing. Do you have very large files in your project that are under git but should not be indexed? |
Thanks @amircodota that seems to work. It's been more than 2min and the process is still up. I already had an |
@amircodota I don't remember how to disable LSP |
@gogoprog Type |
@amircodota it crashed again. Very small repo, no semantic and I see a lot of errors in the log |
@gogoprog The logs do not give much, I'm afraid. There are a lot of these errors
Seems to indicate that something about this project's structure that "confuses" TabNine. Is there anything you can think of? Maybe symlinks, or maybe something else that's a little different about this project directory structure? Another thing we can try is to increase the log verbosity. |
No I can't find anything special in my repo, here it is : https://github.com/gogoprog/advent-of-code It is really the TabNine version that has changed not the repo... I have the trace log but it is 50MB heavy |
@gogoprog trying to reproduce. If the trace log is too big, maybe you can send the last 20 seconds or something like that? |
@amircodota |
Went over the logs. you were running pid 3618701. Then the process just disappeared without any error in the log. Is it possible something on your system is killing it? One thing we can try is to disable deep local suggestions (you are using both local and cloud right) and see if it alleviates this. |
No I have nothing new beside TabNine itself. I just disabled local suggestions and the problem still occurs. |
This is my log for a crash after a very short session (a few seconds after :YcmRestartServer) |
please complete the following information:
vim --version
): 8.2 (patches 1-539)TabNine::version
in insert mode): 3.2.34If 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.Issue Details:
The YouCompleteMe server keeps crashing. Here's a log sample
The text was updated successfully, but these errors were encountered: