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

Language servers exits #208

Open
slackline opened this issue May 13, 2022 · 3 comments
Open

Language servers exits #208

slackline opened this issue May 13, 2022 · 3 comments
Labels
awaiting-research A person is currently performing research to clarify the issue

Comments

@slackline
Copy link

Hi,

I'm trying to use jedi-language-serveralong with lsp-jedi.

I have jedi-language-serverinstalled under a virtualenv and activate it within Python (via pyvenv-workon) and then try opening a .pyfile. Unfortunately it exits with the message....

Server jedi:12920/starting exited with status exit(check corresponding stderr buffer for details). Do you want to restart it? (y or n)

And I can't ever get it to start. *jedi::stderr* shows the following...

Process jedi stderr finished
Traceback (most recent call last):
  File "/home/neil/.virtualenvs/default/lib/python3.9/site-packages/pygls/protocol.py", line 152, in deserialize_message
    deserialize_params(data, get_params_type)
  File "/home/neil/.virtualenvs/default/lib/python3.9/site-packages/pygls/protocol.py", line 138, in deserialize_params
    data['params'] = params_type(**params)
  File "pydantic/main.py", line 406, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for InitializeParams
processId
  value is not a valid integer (type=type_error.integer)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/neil/.virtualenvs/default/bin/jedi-language-server", line 8, in <module>
    sys.exit(cli())
  File "/home/neil/.virtualenvs/default/lib/python3.9/site-packages/jedi_language_server/cli.py", line 125, in cli
    SERVER.start_io()
  File "/home/neil/.virtualenvs/default/lib/python3.9/site-packages/pygls/server.py", line 204, in start_io
    self.loop.run_until_complete(
  File "/usr/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
    return future.result()
  File "/home/neil/.virtualenvs/default/lib/python3.9/site-packages/pygls/server.py", line 75, in aio_readline
    proxy(b''.join(message))
  File "/home/neil/.virtualenvs/default/lib/python3.9/site-packages/pygls/protocol.py", line 456, in data_received
    json.loads(body.decode(self.CHARSET),
  File "/usr/lib/python3.9/json/__init__.py", line 359, in loads
    return cls(**kw).decode(s)
  File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.9/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
  File "/home/neil/.virtualenvs/default/lib/python3.9/site-packages/pygls/protocol.py", line 154, in deserialize_message
    raise JsonRpcInvalidParams()
pygls.exceptions.JsonRpcInvalidParams: Invalid Params

I've reinstalled pyglsundet the virtualenv and its on 0.11.3 with pydantic pegged at 1.8.2 (since pygls requires < pydantic-1.9.0).

(default) ❱ pip show pygls
Name: pygls
Version: 0.11.3
Summary: a pythonic generic language server (pronounced like "pie glass").
Home-page: https://github.com/openlawlibrary/pygls/tree/master/
Author: Open Law Library
Author-email: info@openlawlib.org
License: Apache 2.0
Location: /home/neil/.virtualenvs/default/lib/python3.9/site-packages
Requires: pydantic, typeguard
Required-by: jedi-language-server
(default) ❱ pip show pydantic
Name: pydantic
Version: 1.8.2
Summary: Data validation and settings management using python 3.6 type hinting
Home-page: https://github.com/samuelcolvin/pydantic
Author: Samuel Colvin
Author-email: s@muelcolvin.com
License: MIT
Location: /home/neil/.virtualenvs/default/lib/python3.9/site-packages
Requires: typing-extensions
Required-by: jedi-language-server, pygls
(default) ❱ pip show jedi-language-server            
Name: jedi-language-server
Version: 0.36.0
Summary: A language server for Jedi!
Home-page: https://github.com/pappasam/jedi-language-server
Author: Sam Roeca
Author-email: samuel.roeca@gmail.com
License: MIT
Location: /home/neil/.virtualenvs/default/lib/python3.9/site-packages
Requires: docstring-to-markdown, jedi, pydantic, pygls
Required-by: 

I have no problem starting jedi-language-serverat the command line under the same virtualenv.

Any advice on how to solve this would be very gratefully received and if I can supply any more information to help debug please let me know.

Thanks.

@pappasam
Copy link
Owner

You should open this issue with https://github.com/fredcamps/lsp-jedi. I don't personally use that client and we haven't yet ruled out whether the issue is with your configuration of that client

@slackline
Copy link
Author

Apologies will post there and see if it can be resolved, thanks for the pointer @pappasam

@slackline slackline reopened this Jun 29, 2022
@slackline
Copy link
Author

As suggested I opened an issue for this with lsp-jedi and as suggested installed jedi-language-server outside of the virtualenv but with the same result.

Kindly redirected back to jedi-language-server.

Is there anything I can do to investigate if it is my configuration of jedi-language-server that might be causing this problem?

Also, as it seems to stem from a typing error in pygls I'm wondering if this should be reported up-stream to them.

@pappasam pappasam added the awaiting-research A person is currently performing research to clarify the issue label Jul 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-research A person is currently performing research to clarify the issue
Projects
None yet
Development

No branches or pull requests

2 participants