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

Catch exceptions when importing from search paths#525

Merged
jakebailey merged 2 commits into
microsoft:releasefrom
jakebailey:fix-import-exceptions
Jan 17, 2019
Merged

Catch exceptions when importing from search paths#525
jakebailey merged 2 commits into
microsoft:releasefrom
jakebailey:fix-import-exceptions

Conversation

@jakebailey

Copy link
Copy Markdown
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.

Comment thread src/Analysis/Engine/Impl/Interpreter/Ast/AstModuleResolution.cs Outdated
@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

2 participants