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

Spyder terminal keeps running, even if Spyder is shutdown. #319

Open
6 of 10 tasks
b-a0 opened this issue Apr 3, 2022 · 1 comment
Open
6 of 10 tasks

Spyder terminal keeps running, even if Spyder is shutdown. #319

b-a0 opened this issue Apr 3, 2022 · 1 comment
Assignees

Comments

@b-a0
Copy link

b-a0 commented Apr 3, 2022

Issue Report Checklist

  • Searched the issues page for similar reports
  • Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
  • Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
  • Could not reproduce inside jupyter qtconsole (if console-related)
  • Tried basic troubleshooting (if a bug/error)
    • Restarted Spyder
    • Reset preferences with spyder --reset
    • Reinstalled the latest version of Anaconda
    • Tried the other applicable steps from the Troubleshooting Guide
  • Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description

First of all, thanks for including the spyder-terminal in the standalone installers now as well!
However, it seems the underlying server process is not being shut down after Spyder quits. After a few Spyder restarts this leads to multiple python processes listening on different ports at 127.0.0.1 all serving the OS Web Terminal.

This is not only a minor nuisance, but I think can lead to a security incident.
If someone exposes a port(range) to the web while the OS Web Terminal is still running on that port (without any indication, unless you check the ports with lsof), I think someone might expose a terminal to the WWW, which is undesirable.

What steps reproduce the problem?

  1. In a terminal run sudo lsof -i -P | grep LISTEN | grep python to see al listening python processes.
  2. Open Spyder
  3. Run sudo lsof -i -P | grep LISTEN | grep python to see al listening python processes.
  4. Close Spyder
  5. Run sudo lsof -i -P | grep LISTEN | grep python to see al listening python processes.

What is the expected output? What do you see instead?

Expected output
The list of processes retrieved in step 5 should match the list from step 1. I.e. all python processes started by Spyder should be shut down after closing Spyder.

Actual output
A new python process is found in step 5, which was also visible in step 3. If you visit the address that python process listens on (127.0.0.1:<some_port>) you will get the OS Web Terminal, a live terminal into your system.

Paste Traceback/Error Below (if applicable)

N/A

Versions

  • Spyder version: 5.3.0 None
  • Python version: 3.9.5 64-bit
  • Qt version: 5.15.2
  • PyQt5 version: 5.15.6
  • Operating System: Darwin 21.4.0

Dependencies

# Mandatory:
applaunchservices >=0.1.7            :  0.2.1 (OK)
atomicwrites >=1.2.0                 :  1.4.0 (OK)
chardet >=2.0.0                      :  4.0.0 (OK)
cloudpickle >=0.5.0                  :  2.0.0 (OK)
cookiecutter >=1.6.0                 :  1.7.3 (OK)
diff_match_patch >=20181111          :  20200713 (OK)
intervaltree >=3.0.2                 :  3.1.0 (OK)
IPython >=7.31.1;<8.0.0              :  7.32.0 (OK)
jedi >=0.17.2;<0.19.0                :  0.18.1 (OK)
jellyfish >=0.7                      :  0.9.0 (OK)
jsonschema >=3.2.0                   :  4.4.0 (OK)
keyring >=17.0.0                     :  23.5.0 (OK)
nbconvert >=4.0                      :  6.4.5 (OK)
numpydoc >=0.6.0                     :  1.2.1 (OK)
parso >=0.7.0;<0.9.0                 :  0.8.3 (OK)
pexpect >=4.4.0                      :  4.8.0 (OK)
pickleshare >=0.4                    :  0.7.5 (OK)
psutil >=5.3                         :  5.9.0 (OK)
pygments >=2.0                       :  2.11.2 (OK)
pylint >=2.5.0                       :  2.13.3 (OK)
pyls_spyder >=0.4.0                  :  0.4.0 (OK)
pylsp >=1.4.1;<1.5.0                 :  1.4.1 (OK)
pylsp_black >=1.2.0                  :  1.2.0 (OK)
qdarkstyle >=3.0.2;<3.1.0            :  3.0.3 (OK)
qstylizer >=0.1.10                   :  0.2.1 (OK)
qtawesome >=1.0.2                    :  1.1.1 (OK)
qtconsole >=5.3.0;<5.4.0             :  5.3.0 (OK)
qtpy >=2.0.1                         :  2.0.1 (OK)
rtree >=0.9.7                        :  0.9.7 (OK)
setuptools >=49.6.0                  :  60.10.0 (OK)
sphinx >=0.6.6                       :  4.5.0 (OK)
spyder_kernels >=2.3.0;<2.4.0        :  2.3.0 (OK)
textdistance >=4.2.0                 :  4.2.2 (OK)
three_merge >=0.1.1                  :  0.1.1 (OK)
watchdog >=0.10.3                    :  2.1.7 (OK)
zmq >=17                             :  22.3.0 (OK)

# Optional:
cython >=0.21                        :  0.29.28 (OK)
matplotlib >=3.0.0                   :  3.5.1 (OK)
numpy >=1.7                          :  1.22.3 (OK)
pandas >=1.1.1                       :  1.4.1 (OK)
scipy >=0.17.0                       :  1.8.0 (OK)
sympy >=0.7.3                        :  1.10.1 (OK)

# Spyder plugins:
spyder_terminal.terminalplugin 1.2.2 :  1.2.2 (OK)
@ccordoba12
Copy link
Member

Moving this one to the Spyder-terminal repo as well.

@ccordoba12 ccordoba12 transferred this issue from spyder-ide/spyder Apr 3, 2022
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

3 participants