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

Properly detect macOS/Linux/Windows incompatibility for the language server #2729

Closed
samuelchen opened this issue Sep 29, 2018 · 11 comments
Closed
Assignees
Labels
area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority

Comments

@samuelchen
Copy link

Environment data

  • VS Code version: 1.27.2
  • Extension version (available under the Extensions sidebar): 2018.8.0
  • OS and version: MacOS EI Captain 10.11.6
  • Python version (& distribution if applicable, e.g. Anaconda): 3.7.0 from Brew
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): virtualenv
  • Relevant/affected Python packages and their versions: N/A

Actual behavior

Error log shows in "output"

Expected behavior

N/A

Steps to reproduce:

N/A

Logs

Starting Microsoft Python language server.
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

[Info  - 11:50:16 PM] Connection to server got closed. Server will restart.
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

[Info  - 11:50:17 PM] Connection to server got closed. Server will restart.
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

[Info  - 11:50:18 PM] Connection to server got closed. Server will restart.
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

[Info  - 11:50:18 PM] Connection to server got closed. Server will restart.
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
  Referenced from: /Users/samuel/.vscode/extensions/ms-python.python-2018.8.0/languageServer/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

[Error - 11:50:19 PM] Connection to server got closed. Server will not be restarted.

@brettcannon
Copy link
Member

Did you get a banner about the language server not supporting macOS 10.11? (Notice the message "which was built for Mac OS X 10.12" in the output.)

@brettcannon brettcannon added bug Issue identified by VS Code Team member as probable bug area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. info-needed Issue requires more information from poster labels Oct 1, 2018
@brettcannon brettcannon changed the title The python tools server crashed 5 times in last 3 minutes. Banner not displayed for running the language server on macOS 10.11 Oct 1, 2018
@samuelchen
Copy link
Author

@brettcannon Thank you for the reply.
I did not get a banner about the language server not support the macOS version. I just found the message in the log.

@samuelchen
Copy link
Author

Besides the banner displaying, is there anyway to make it work in macOS 10.11 ?

@DonJayamanne
Copy link

Please could you install the development version form here and let us know what you get?
Instructions for installing the development version can be found here https://github.com/Microsoft/vscode-python/blob/master/CONTRIBUTING.md#development-build

@DonJayamanne DonJayamanne self-assigned this Oct 9, 2018
@ev-dev
Copy link

ev-dev commented Nov 16, 2018

Also had this happen running on El Capitan 10.11, didn't display a incompatibility banner vs code let me download and install language server which then just errored out immediately on reload. Was confusing since VS Code prompted the recommendation to try out the language server first. Would be good to notate the restricted system requirements in the extension info page or elsewhere while the bug persists

@DonJayamanne DonJayamanne added needs PR important Issue identified as high-priority and removed triage labels Nov 19, 2018
@DonJayamanne DonJayamanne removed their assignment Nov 19, 2018
@DonJayamanne DonJayamanne added important Issue identified as high-priority and removed important Issue identified as high-priority info-needed Issue requires more information from poster labels Nov 19, 2018
@DonJayamanne
Copy link

While this might not work properly on Mac, I've found that we're not checking for support on other Unix OS (https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md)

E.g. Ubuntu <18 isn't supported and we're not checking this.
Surely this would be required when LS become stable.

@DonJayamanne
Copy link

DonJayamanne commented Nov 28, 2018

Suggestion, just drop getos and make use of distro instead.

Benefits of pypi distro over npm getos:

  • No need of getos (slightly smaller bundle and faster load times of extension)
    • Right now getos gets invoked when the extension loads unnecessarily.
  • We can use native nodejs for Windows and Mac OS
  • Use python code to detect Linux versions.
  • getos was not updated for 2 years until we reported an issue with regards to webpack (then again there aren't too many issues filed against it).

@brettcannon
Copy link
Member

Distro on PyPI.

We shouldn't split the checking across multiple languages. If we're going to do it in Python we should just do it all in Python. We can use the platform module very easily to get the macOS version and the same for Windows. So if we are going to drop into Python to do this check then I think we should go all-in and centralize the checking (and it can be as simple as a script that we run that uses exit codes to signal if the language server is worth downloading.

@DonJayamanne
Copy link

@brettcannon
Agreed

@brettcannon
Copy link
Member

  • Test Python code
  • Fix PyPI dependency installation
  • Test macOS
  • Test Linux

@brettcannon brettcannon changed the title Banner not displayed for running the language server on macOS 10.11 Properly detect macOS/Linux/Windows incompatibility for the language server Nov 29, 2018
@samuelchen
Copy link
Author

@DonJayamanne sorry too late to answer.
I tried Jedi and it worked. Later I upgraded memory & SSD so that I could upgrade to latest MacOS. It works well.

@lock lock bot locked as resolved and limited conversation to collaborators Jan 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-intellisense LSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc. bug Issue identified by VS Code Team member as probable bug important Issue identified as high-priority
Projects
None yet
Development

No branches or pull requests

4 participants