Skip to content
This repository has been archived by the owner on Apr 14, 2022. It is now read-only.

Catch exceptions when importing from search paths #525

Merged
merged 2 commits into from
Jan 17, 2019

Conversation

jakebailey
Copy link
Member

Fixes #522.

Did this quick this morning, figured I'd PR instead of letting it sit around.

@AlexanderSher Curious how you'd test this. Tried my hand for a bit but couldn't easily see a way to trigger this. I wanted to spawn a server, add a file in the test-specific root, then delete it, and then call ImportModuleAsync to see that I get ModuleNotFound, but I don't think I had the search paths setup correctly. Feel free to absorb this into a different PR if it's easier.

@jakebailey jakebailey merged commit 090b530 into microsoft:release Jan 17, 2019
@jakebailey jakebailey deleted the fix-import-exceptions branch January 17, 2019 18:04
AlexanderSher pushed a commit to AlexanderSher/python-language-server that referenced this pull request Feb 4, 2019
* catch exceptions when importing from search paths

* retry instead of not found
AlexanderSher added a commit that referenced this pull request Feb 4, 2019
* Fix #470 (#478)

* Fix various common exceptions, log on a failed directory load (#498)

* rethrow exception after telemetry instead of disposing

* log an error instead of crashing when hitting some exceptions loading files, fix nullref when shutting down without an idle tracker

* fix short circuiting of question mark checks to prevent null from being returned

* print name of exception instead of relying on ToString

* don't use MaybeEnumerate

* upgrade message to Show

* Mitigate some of #495 via MRO member selection and analysis set optimization (#517)

This isn't a complete fix, but does seem to improve #495 in some cases. Adds back the early MRO return removed in #277, so now large class hierarchies won't over-propagate types (where some of the trouble with fastai happens do to the Transform class). I also optimized AnalysisHashSet a little to do length checks when possible.

There are still times when things get caught up comparing unions for a while, but it seems to be nondeterministic.

* Two path resolution bug fixes

- Fix #509: PLS doesn't flag error in a relative import if it is found in another root directory (#519)
- Fix #510: PLS doesn't resolve relative paths correctly

* Catch exceptions when importing from search paths (#525)

* catch exceptions when importing from search paths

* retry instead of not found
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants