-
Notifications
You must be signed in to change notification settings - Fork 19
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
Jump to definition consumes the entire CPU capacity #103
Comments
You can disable the hyperclick package to disable jump to definition. You are on windows and Flow on windows was still experimental the last time I checked. Flow architecture has a server that runs in the background and scans the entire project into memory and then clients that query that server. If I am guessing correctly the server is not yet supported on windows and every client tries to scan the entire project by themselves. Either way, nothing we can do in this package, Flow maintainers will have to fix this in flow :) |
It has a server on windows. And if I'm not wrong, it scans the entire project on init. |
Regardless, if it jammed the editor, then it would be flow-ide's fault, if it spawns processes and those processes jam the OS then it's those processes' fault. You could try submitting debug information to the flow repository, people there might be able to help you debug the root cause of this |
What debug information? How can I generate that information? Thank you! |
No idea 😅 The maintainers of flow would know tho |
They told me "The flow binary will show up in windows as flow.exe. This is not a flow issue, it seems as though it is an issue with the plugin you're using." 🙈 |
So next step in debugging, install Process Explorer and try to get the command line arguments of the spawned Node processes that take up all of that CPU |
Is your project's Normally the Node.js wrapper script should determine the proper In any case, this is an issue with either |
Uhmm, they exit. But spawn a lot of them, more than 20. Previous versions:
Actual versions:
Still happens. By the way, testing it now, I found that the more time I put the mouse over an element pressing the key to jump to a definition, the more processes spawn. |
That would only happen if you hold ctrl all the time, do you? |
Uhmm, yes i think. It happens only if I hold ctrl, but the more I hold it, the more processes will be. |
We could cache the results if the contents of the editors have not changed since the last time you held ctrl, could you open an issue on steelbrain/intentions for this please? I think we could fix it there |
I updated to the new version, but still having the issue. |
🤦 I forgot this package uses Hyperclick not intentions. Best bet? Disable the hyperclick package. We would no longer spawn processes to get jump to definition info |
I think I can confirm this is a hyperclick bug. I tried Nuclide, and occurs the same problem. |
Closing in favor of #105 |
A flow client does spin up for every control hover, but the overhead should be pretty low and they should ping the server (which should be running) and die pretty quickly. Unless you're ctrl+hovering over hundreds of words in a few seconds. We probably should be invoking Meanwhile, @lgraziani2712 - what happens on your machine if you run that command from the command line (in the appropriate directory)? and then when you run it again? Do you get a warning about Flow restarting the running server because the versions don't match up? If not, does the command run pretty instantly? or how long does it take to run or is there any other warning/console output that might indicate why its running slowly? |
@lgraziani2712 - can you look at the settings for |
Is empty. |
Ok, the root issue is that we're not invoking I'll see if I can get a good answer out of the Flow folks about the best way to discover its location. |
Sorry @leos didn't saw your first comment!
I updated that file, so I ran the following one:
It always returns:
|
No problem. Try setting the |
I tried updating the |
And they're still |
Yes. |
I think I have found at least one cause: on windows the hyperclick provider is called even if the mouse stands still. This is not the case for mac (I haven't tried it on linux yet) So move the mouse over any function and just keep the "trigger keys" of hyperclick pressed. As you can see the hyperclick provider is called continuously! I will open an issue somewhere in hyperclick / atom-ide-ui / nuclide |
Ouch. That's really frustrating. Nice find @lloiser. The readme for that repo says to file issues in |
Specs:
Description
Everytime I try to jump to a definition, this happens:
And my PC freezes. The WMI Provider Host and those bunch of nodejs instances only appear when I try to jump to a definition.
While you try to stabilize this functionality, can you add an option to disable it? Right now I cannot use flow-ide because of that (or I need to be careful not to try to jump to a definition.)
Thank you for your work :)
The text was updated successfully, but these errors were encountered: