diff --git a/pylsp/plugins/jedi_completion.py b/pylsp/plugins/jedi_completion.py index a07e5254..41e2e573 100644 --- a/pylsp/plugins/jedi_completion.py +++ b/pylsp/plugins/jedi_completion.py @@ -165,8 +165,13 @@ def use_snippets(document, position): def _resolve_completion(completion, d): + # pylint: disable=broad-except completion['detail'] = _detail(d) - completion['documentation'] = _utils.format_docstring(d.docstring()) + try: + docs = _utils.format_docstring(d.docstring()) + except Exception: + docs = '' + completion['documentation'] = docs return completion diff --git a/test/test_language_server.py b/test/test_language_server.py index c6f66001..3602b10b 100644 --- a/test/test_language_server.py +++ b/test/test_language_server.py @@ -86,6 +86,7 @@ def test_initialize(client_server): # pylint: disable=redefined-outer-name assert 'capabilities' in response +@flaky(max_runs=10, min_passes=1) @pytest.mark.skipif(os.name == 'nt' or (sys.platform.startswith('linux') and PY3), reason='Skipped on win and fails on linux >=3.6') def test_exit_with_parent_process_died(client_exited_server): # pylint: disable=redefined-outer-name