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

Extension causes high cpu load when using poetry-version-plugin #18459

Closed
j0k2r opened this issue Feb 7, 2022 · 10 comments · Fixed by #18488
Closed

Extension causes high cpu load when using poetry-version-plugin #18459

j0k2r opened this issue Feb 7, 2022 · 10 comments · Fixed by #18488
Assignees
Labels
area-editor-* User-facing catch-all area-environments Features relating to handling interpreter environments bug Issue identified by VS Code Team member as probable bug verified Verification succeeded
Milestone

Comments

@j0k2r
Copy link

j0k2r commented Feb 7, 2022

  • Issue Type: Performance
  • Extension Name: python
  • Extension Version: v2022.0.1786462952
  • OS Version: Linux 5.13.0-28-generic
  • VS Code version: 1.64

CPU profile file: CPU-20220207T092415.cpuprofile.txt

@github-actions github-actions bot added the triage-needed Needs assignment to the proper sub-team label Feb 7, 2022
@karthiknadig karthiknadig added area-editor-* User-facing catch-all bug Issue identified by VS Code Team member as probable bug triage and removed triage-needed Needs assignment to the proper sub-team labels Feb 7, 2022
@karrtikr
Copy link

karrtikr commented Feb 8, 2022

Hi @j0k2r , the CPU profile you provided does not seem to be related to the Python extension. If you still face this issue, please upload the CPU profile again which will help us track down the issue. Follow the steps here:
https://github.com/Microsoft/vscode/wiki/Performance-Issues#profile-the-running-extensions

@karrtikr karrtikr added the info-needed Issue requires more information from poster label Feb 8, 2022
@j0k2r
Copy link
Author

j0k2r commented Feb 8, 2022

@karrtikr thanks for the reply.

Here is the new CPU profile:
CPU-20220208T170531.156Z.cpuprofile.txt

@karrtikr karrtikr added investigating We are looking into the cause of the issue and removed info-needed Issue requires more information from poster triage labels Feb 8, 2022
@karrtikr
Copy link

karrtikr commented Feb 8, 2022

Thanks for the upload, unfortunately I still don't see any Python related stuff in the CPU profile. Did you activate the Python extension by opening a python file while the CPU profile was being captured?

@karrtikr karrtikr added the info-needed Issue requires more information from poster label Feb 8, 2022
@j0k2r
Copy link
Author

j0k2r commented Feb 9, 2022

Hi @karrtikr, After lot of tests, it seems that the CPU load is caused by the poetry-version-plugin plugin.

You can find a code example in https://github.com/j0k2r/vscode-cpu-load.

The CPU load is caused by the lines in the Poetry configuration file. After deleting them vscode works normally.

@karrtikr karrtikr removed the info-needed Issue requires more information from poster label Feb 9, 2022
@karrtikr
Copy link

karrtikr commented Feb 9, 2022

Oh interesting, can you provide the logs as mentioned in the issue template? We run some poetry related commands for discovery which maybe using this configuration file. Thanks for diagnosing it.

Logs

Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python)

XXX

@karrtikr karrtikr added the info-needed Issue requires more information from poster label Feb 9, 2022
@j0k2r
Copy link
Author

j0k2r commented Feb 9, 2022

Experiment 'pythonaa' is active
Experiment 'pythonTensorboardExperiment' is active
Experiment 'PythonPyTorchProfiler' is active
Experiment 'pythonDeprecatePythonPath' is active
> conda info --json
> poetry env list --full-path
cwd: .
> /bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
Python interpreter path: /bin/python
> ~/.virtualenvs/Commander-YTgjDO02/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/Commander-YTgjDO02/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/NoSQLMap-XBIbzWiK/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/NoSQLMap-XBIbzWiK/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/csplogger-jqBk2i5A/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/docker-hub-monitoring-36xI1Q85/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
[ERROR 2022-1-9 16:30:13.60]: Reading directory to watch failed [Error: ENOENT: no such file or directory, scandir 'poetry-version-plugin: Using __init__.py file at vscode_cpu_load'
	at Object.readdirSync (fs.js:1021:3)
	at Object.e.readdirSync (electron/js2c/asar_bundle.js:5:10478)
	at /home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:24:259625
	at /home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:24:259776
	at Array.map (<anonymous>)
	at h.initWatchers (/home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:24:259571)
	at async h.ensureWatchersReady (/home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:52:4321)] {
  errno: -2,
  syscall: 'scandir',
  code: 'ENOENT',
  path: 'poetry-version-plugin: Using __init__.py file at vscode_cpu_load'
}
> ~/.virtualenvs/harbor-client-light-BDq5hhzd/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/jostedal-u3av6PmQ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/pystun3-A5upV_oU/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/regexploit-k8BgdNqZ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/test_log-bxla1c6X/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/jostedal-u3av6PmQ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/pystun3-A5upV_oU/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/regexploit-k8BgdNqZ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/test_log-bxla1c6X/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> /bin/python2 ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> /usr/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> /usr/bin/python2 ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
Starting Pylance language server.

@karrtikr karrtikr removed the info-needed Issue requires more information from poster label Feb 9, 2022
@karrtikr
Copy link

karrtikr commented Feb 9, 2022

Can you please run poetry env list --full-path in terminal and send me the output?

@karrtikr karrtikr added the info-needed Issue requires more information from poster label Feb 9, 2022
@j0k2r
Copy link
Author

j0k2r commented Feb 9, 2022

Python output:

Experiment 'pythonaa' is active
Experiment 'pythonTensorboardExperiment' is active
Experiment 'PythonPyTorchProfiler' is active
Experiment 'pythonDeprecatePythonPath' is active
> conda info --json
> poetry env list --full-path
cwd: .
> /bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
Python interpreter path: /bin/python
> ~/.virtualenvs/Commander-YTgjDO02/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/Commander-YTgjDO02/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/NoSQLMap-XBIbzWiK/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/csplogger-jqBk2i5A/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/docker-hub-monitoring-36xI1Q85/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/NoSQLMap-XBIbzWiK/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/harbor-client-light-BDq5hhzd/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/jostedal-u3av6PmQ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/pystun3-A5upV_oU/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
[ERROR 2022-1-9 17:21:40.15]: Reading directory to watch failed [Error: ENOENT: no such file or directory, scandir 'poetry-version-plugin: Using __init__.py file at vscode_cpu_load'
	at Object.readdirSync (fs.js:1021:3)
	at Object.e.readdirSync (electron/js2c/asar_bundle.js:5:10478)
	at /home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:24:259625
	at /home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:24:259776
	at Array.map (<anonymous>)
	at h.initWatchers (/home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:24:259571)
	at async h.ensureWatchersReady (/home/HOME/.vscode/extensions/ms-python.python-2022.0.1814523869/out/client/extension.js:52:4321)] {
  errno: -2,
  syscall: 'scandir',
  code: 'ENOENT',
  path: 'poetry-version-plugin: Using __init__.py file at vscode_cpu_load'
}
> ~/.virtualenvs/regexploit-k8BgdNqZ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.virtualenvs/test_log-bxla1c6X/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/harbor-client-light-BDq5hhzd/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/jostedal-u3av6PmQ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/pystun3-A5upV_oU/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/regexploit-k8BgdNqZ/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.local/share/virtualenvs/test_log-bxla1c6X/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> /bin/python2 ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> /usr/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> /usr/bin/python2 ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
> ~/.cache/pypoetry/virtualenvs/vscode-cpu-load-dmIhbhRY-py3.8/bin/python ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/get_output_via_markers.py ~/.vscode/extensions/ms-python.python-2022.0.1814523869/pythonFiles/interpreterInfo.py
Starting Pylance language server.

poetry env list --full-path:

poetry-version-plugin: Using __init__.py file at vscode_cpu_load/__init__.py for dynamic version
poetry-version-plugin: Setting package dynamic version to __version__ variable from __init__.py: 1.0.0
/home/HOME/.cache/pypoetry/virtualenvs/vscode-cpu-load-dmIhbhRY-py3.8 (Activated

@karrtikr karrtikr removed the info-needed Issue requires more information from poster label Feb 9, 2022
@karrtikr
Copy link

karrtikr commented Feb 9, 2022

Can you try the following VSIX https://github.com/microsoft/vscode-python/suites/5237804905/artifacts/161021046 and see if it helps? (Use Extension: Install from VSIX command to install the VSIX) If it doesn't, please provide the logs again, thanks!

@karrtikr karrtikr added the info-needed Issue requires more information from poster label Feb 9, 2022
@j0k2r
Copy link
Author

j0k2r commented Feb 10, 2022

Hi @karrtikr, the new extension solves the problem, thanks for your help.

@karrtikr karrtikr removed info-needed Issue requires more information from poster investigating We are looking into the cause of the issue labels Feb 10, 2022
@karrtikr karrtikr added needs PR area-environments Features relating to handling interpreter environments labels Feb 11, 2022
@karrtikr karrtikr changed the title Extension causes high cpu load Extension causes high cpu load when using poetry-version-plugin Feb 11, 2022
@karrtikr karrtikr added this to the February 2022 milestone Feb 11, 2022
@karrtikr karrtikr added the verified Verification succeeded label Feb 11, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-editor-* User-facing catch-all area-environments Features relating to handling interpreter environments bug Issue identified by VS Code Team member as probable bug verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants