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

Python Language Server crash "Value cannot be null." #383

Closed
DonJayamanne opened this issue Nov 12, 2018 · 9 comments
Closed

Python Language Server crash "Value cannot be null." #383

DonJayamanne opened this issue Nov 12, 2018 · 9 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@DonJayamanne
Copy link

From @saulshanabrook on November 11, 2018 19:10

Environment data

  • VS Code version: 1.29.0-insider
  • Extension version (available under the Extensions sidebar): 2018.10.1
  • OS and version: macOS High Sierra 10.13.6 (17G65)
  • Python version (& distribution if applicable, e.g. Anaconda): 3.6.6 Anaconda
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
  • Relevant/affected Python packages and their versions: N/A

Actual behavior

No python intellisense when not using jedi.

Expected behavior

Python intellesense even when jedi is off

Steps to reproduce:

  1. Open any Python file when jedi is disabled

Logs

Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python)

Starting Microsoft Python language server.
Microsoft Python Language Server version 0.1.60.0
Initializing for /usr/local/miniconda3/envs/uarray/bin/python
##########Linting Output - mypy##########
##########Linting Output - flake8##########
[Error - 2:05:45 PM] System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.All[TSource](IEnumerable`1 source, Func`2 predicate)
   at Microsoft.PythonTools.Analysis.AnalysisValue.Microsoft.PythonTools.Analysis.IAnalysisSet.Union(IEnumerable`1 items, Boolean& wasChanged, Boolean canMutate)
   at Microsoft.PythonTools.Analysis.AnalysisSet.UnionAll(IAnalysisSet set, IEnumerable`1 sets, Boolean& wasChanged, Boolean canMutate)
   at Microsoft.PythonTools.Analysis.Values.ProtocolInfo.BinaryOperation(Node node, AnalysisUnit unit, PythonOperator operation, IAnalysisSet rhs)
   at Microsoft.PythonTools.Analysis.AnalysisValueSetExtensions.BinaryOperation(IAnalysisSet self, Node node, AnalysisUnit unit, PythonOperator operation, IAnalysisSet rhs)
   at Microsoft.PythonTools.Analysis.Analyzer.ExpressionEvaluator.EvaluateWorker(Node node)
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(IfStatement node)
   at Microsoft.PythonTools.Parsing.Ast.IfStatement.Walk(PythonWalker walker)
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(SuiteStatement node)
   at Microsoft.PythonTools.Parsing.Ast.SuiteStatement.Walk(PythonWalker walker)
   at Microsoft.PythonTools.Analysis.Analyzer.FunctionAnalysisUnit.AnalyzeWorker(DDG ddg, CancellationToken cancel)
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Analyze(Deque`1 queue, CancellationToken cancel, Action`1 reportQueueSize, Int32 reportQueueInterval)
   at Microsoft.PythonTools.Analysis.PythonAnalyzer.AnalyzeQueuedEntries(CancellationToken cancel)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.GroupAnalysis.Analyze(CancellationToken cancel)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.HandleAnalyzable(IAnalyzable item, AnalysisPriority priority, CancellationToken cancellationToken)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.ConsumerLoop()

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help)

/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:3306 [naereen.makefiles-support-for-vscode]: Unknown language in `contributes.grammars.language`. Provided value: Makefile
g._logMessageInConsole @ /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:3306
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:1446  INFO no standard startup: not a new window
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Create file systemwatcher with pattern */python (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Create file systemwatcher with pattern */*/python (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Create file systemwatcher with pattern */python (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Create file systemwatcher with pattern */*/python (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Notify locators are locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Register Intepreter Watcher, Arg 1: {"$mid":1,"fsPath":"/Users/saul/p/uarray/uarray","external":"file:///Users/saul/p/uarray/uarray","path":"/Users/saul/p/uarray/uarray","scheme":"file"}, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Register Intepreter Watcher, Arg 1: undefined, Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Build the workspace interpreter watcher, Arg 1: {"$mid":1,"fsPath":"/Users/saul/p/uarray/uarray","external":"file:///Users/saul/p/uarray/uarray","path":"/Users/saul/p/uarray/uarray","scheme":"file"}, Return Value: UNABLE TO DETERMINE VALUE (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Build the workspace interpreter watcher, Arg 1: undefined, Return Value: UNABLE TO DETERMINE VALUE (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Get language server folder name, , Return Value: "languageServer.0.1.60" (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Failed to get conda environment list from conda Error: spawn conda ENOENT
	at _errnoException (util.js:1024:11)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
	at onErrorNT (internal/child_process.js:372:16)
	at _combinedTickCallback (internal/process/next_tick.js:138:11)
	at process._tickCallback (internal/process/next_tick.js:180:9) (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:46:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: All locators have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))
/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:294 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:  (at Logger.logInformation (/Users/saul/.vscode-insiders/extensions/ms-python.python-2018.10.1/out/client/common/logger.js:49:21))

Copied from original issue: microsoft/vscode-python#3302

@DonJayamanne
Copy link
Author

From @hvdklauw on November 12, 2018 8:29

VS Code version: 1.28.2
Extension version (available under the Extensions sidebar): 2018.10.1
OS and version: macOS Mojave 10.14.1
Python version (& distribution if applicable, e.g. Anaconda): 3.6.5
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): virtualenv
Relevant/affected Python packages and their versions: N/A

Starting Microsoft Python language server.
Microsoft Python Language Server version 0.1.60.0
Initializing for /Users/hvdklauw/.local/share/virtualenvs/api-QJli8UPZ/bin/python
##########Linting Output - pydocstyle##########
##########Linting Output - flake8##########
[Error - 9:06:08 AM] System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.All[TSource](IEnumerable`1 source, Func`2 predicate)
   at Microsoft.PythonTools.Analysis.AnalysisValue.Microsoft.PythonTools.Analysis.IAnalysisSet.Union(IEnumerable`1 items, Boolean& wasChanged, Boolean canMutate)
   at Microsoft.PythonTools.Analysis.AnalysisSet.UnionAll(IAnalysisSet set, IEnumerable`1 sets, Boolean& wasChanged, Boolean canMutate)
   at Microsoft.PythonTools.Analysis.Values.ProtocolInfo.BinaryOperation(Node node, AnalysisUnit unit, PythonOperator operation, IAnalysisSet rhs)
   at Microsoft.PythonTools.Analysis.AnalysisValueSetExtensions.BinaryOperation(IAnalysisSet self, Node node, AnalysisUnit unit, PythonOperator operation, IAnalysisSet rhs)
   at Microsoft.PythonTools.Analysis.Analyzer.ExpressionEvaluator.EvaluateWorker(Node node)
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(IfStatement node)
   at Microsoft.PythonTools.Parsing.Ast.IfStatement.Walk(PythonWalker walker)
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(SuiteStatement node)
   at Microsoft.PythonTools.Parsing.Ast.SuiteStatement.Walk(PythonWalker walker)
   at Microsoft.PythonTools.Analysis.Analyzer.FunctionAnalysisUnit.AnalyzeWorker(DDG ddg, CancellationToken cancel)
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Analyze(Deque`1 queue, CancellationToken cancel, Action`1 reportQueueSize, Int32 reportQueueInterval)
   at Microsoft.PythonTools.Analysis.PythonAnalyzer.AnalyzeQueuedEntries(CancellationToken cancel)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.GroupAnalysis.Analyze(CancellationToken cancel)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.HandleAnalyzable(IAnalyzable item, AnalysisPriority priority, CancellationToken cancellationToken)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.ConsumerLoop()

Then The same error keeps showing up:

[Error - 9:08:33 AM] Request textDocument/definition failed.
  Message: PriorityProducerConsumer`1 instance is disposed
Object name: 'PriorityProducerConsumer`1'.
  Code: -32000 
   at Microsoft.PythonTools.Analysis.Infrastructure.DisposeToken.ThrowIfDisposed()
   at Microsoft.PythonTools.Analysis.Infrastructure.PriorityProducerConsumer`1.Produce(T value, Int32 priority)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.ExecuteInQueueAsync(Func`2 function, AnalysisPriority priority)
   at Microsoft.Python.LanguageServer.Implementation.Server.WaitForCompleteAnalysisWorker(CancellationToken cancellationToken)
   at Microsoft.Python.LanguageServer.Implementation.Server.FindReferences(ReferencesParams params, CancellationToken cancellationToken)
   at Microsoft.Python.LanguageServer.Implementation.Server.GotoDefinition(TextDocumentPositionParams params, CancellationToken cancellationToken)
   at Microsoft.Python.LanguageServer.Implementation.LanguageServer.GotoDefinition(JToken token, CancellationToken cancellationToken)

@sqs
Copy link

sqs commented Nov 14, 2018

I am also seeing the Value cannot be null Parameter name: source when hovering STRIPE_PUBLISHABLE_KEY in corporate/lib/stripe.py (and probably other files too) in github.com/zulip/zulip in a build of the language server at b936053.

Occasionally I get the following error instead (EDITED: this is unrelated, see #379 as @jakebailey mentioned below).

Getting hover for STRIPE_PUBLISHABLE_KEY
Assertion Failed
Hash code changed when merging AnalysisValues

   at Microsoft.PythonTools.Analysis.AnalysisSetDetails.AnalysisHashSet.AddOne(BucketSet& buckets, AnalysisValue key, Int32 hc, IEqualityComparer`1 comparer) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisHashSet.cs:line 425
   at Microsoft.PythonTools.Analysis.AnalysisSetDetails.AnalysisHashSet.AddOne(BucketSet& buckets, AnalysisValue key, IEqualityComparer`1 comparer) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisHashSet.cs:line 329
   at Microsoft.PythonTools.Analysis.AnalysisSetDetails.AnalysisHashSet.AddFromEnumerator(BucketSet& buckets, IEnumerator`1 items, IEqualityComparer`1 comparer) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisHashSet.cs:line 240
   at Microsoft.PythonTools.Analysis.AnalysisSetDetails.AnalysisHashSet.AddFromEnumerator(IEnumerator`1 items) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisHashSet.cs:line 232
   at Microsoft.PythonTools.Analysis.AnalysisSetDetails.AnalysisHashSet..ctor(IEnumerable`1 enumerable, IEqualityComparer`1 comparer) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisHashSet.cs:line 85
   at Microsoft.PythonTools.Analysis.AnalysisSet.AsUnion(IAnalysisSet set, UnionComparer comparer, Boolean& wasChanged) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisSet.cs:line 288
   at Microsoft.PythonTools.Analysis.AnalysisSet.AsUnion(IAnalysisSet set, Int32 strength, Boolean& wasChanged) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisSet.cs:line 247
   at Microsoft.PythonTools.Analysis.Analyzer.TypedDependencyInfo.MakeUnion(Int32 strength) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/DependencyInfo.cs:line 130
   at Microsoft.PythonTools.Analysis.TypedDef`1.MakeUnion(Int32 strength) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/VariableDef.cs:line 415
   at Microsoft.PythonTools.Analysis.TypedDef`1.MakeUnionStronger() in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/VariableDef.cs:line 406
   at Microsoft.PythonTools.Analysis.TypedDef`1.MakeUnionStrongerIfMoreThan(Int32 typeCount, IAnalysisSet extraTypes) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/VariableDef.cs:line 398
   at Microsoft.PythonTools.Analysis.Analyzer.FunctionScope.UpdateParameters(FunctionAnalysisUnit unit, ArgumentSet others, Boolean enqueue, FunctionScope scopeWithDefaultParameters, Boolean usePlaceholders) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/FunctionScope.cs:line 198
   at Microsoft.PythonTools.Analysis.Analyzer.FunctionAnalysisUnit.UpdateParameters(ArgumentSet callArgs, Boolean enqueue) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/FunctionAnalysisUnit.cs:line 63
   at Microsoft.PythonTools.Analysis.Values.FunctionInfo.DoCall(Node node, AnalysisUnit callingUnit, FunctionAnalysisUnit calledUnit, ArgumentSet callArgs) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Values/FunctionInfo.cs:line 156
   at Microsoft.PythonTools.Analysis.Values.FunctionInfo.Call(Node node, AnalysisUnit unit, IAnalysisSet[] args, NameExpression[] keywordArgNames) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Values/FunctionInfo.cs:line 98
   at Microsoft.PythonTools.Analysis.Analyzer.ExpressionEvaluator.EvaluateCall(ExpressionEvaluator ee, Node node) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/ExpressionEvaluator.cs:line 378
   at Microsoft.PythonTools.Analysis.Analyzer.ExpressionEvaluator.EvaluateWorker(Node node) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/ExpressionEvaluator.cs:line 211
   at Microsoft.PythonTools.Analysis.Analyzer.ExpressionEvaluator.Evaluate(Expression node) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/ExpressionEvaluator.cs:line 55
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(AssignmentStatement node) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/DDG.cs:line 137
   at Microsoft.PythonTools.Parsing.Ast.AssignmentStatement.Walk(PythonWalker walker) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Parsing/Ast/AssignmentStatement.cs:line 41
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(SuiteStatement node) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/DDG.cs:line 665
   at Microsoft.PythonTools.Parsing.Ast.SuiteStatement.Walk(PythonWalker walker) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Parsing/Ast/SuiteStatement.cs:line 34
   at Microsoft.PythonTools.Analysis.Analyzer.FunctionAnalysisUnit.AnalyzeWorker(DDG ddg, CancellationToken cancel) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/FunctionAnalysisUnit.cs:line 88
   at Microsoft.PythonTools.Analysis.AnalysisUnit.Analyze(DDG ddg, CancellationToken cancel) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/AnalysisUnit.cs:line 139
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Analyze(Deque`1 queue, CancellationToken cancel, Action`1 reportQueueSize, Int32 reportQueueInterval) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Analyzer/DDG.cs:line 75
   at Microsoft.PythonTools.Analysis.PythonAnalyzer.AnalyzeQueuedEntries(CancellationToken cancel) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/PythonAnalyzer.cs:line 907
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.GroupAnalysis.Analyze(CancellationToken cancel) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Intellisense/AnalysisQueue.cs:line 229
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.HandleAnalyzable(IAnalyzable item, AnalysisPriority priority, CancellationToken cancellationToken) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Intellisense/AnalysisQueue.cs:line 152
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.HandleAnalyzable(IAnalyzable item, AnalysisPriority priority, CancellationToken cancellationToken)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.<>c__DisplayClass31_0.<Enqueue>b__0(CancellationToken ct) in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Intellisense/AnalysisQueue.cs:line 136
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.ConsumerLoop() in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Intellisense/AnalysisQueue.cs:line 64
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(TResult result)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.ConsumeAsync() in /home/sqs/src/github.com/Microsoft/python-language-server/src/Analysis/Engine/Impl/Intellisense/AnalysisQueue.cs:line 89
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

If I hover a token lower down in the file first and wait for it to return results, the hovers mentioned above do not throw an error and do return the correct value. So there could be some path-dependency or nondeterminism here.

BTW, this lang server is amazing! 🎉 Thank you!

@jakebailey
Copy link
Member

jakebailey commented Nov 14, 2018

Thanks for giving a possible test case. Are you also on macOS when you get the exception, or another OS?

That second trace you've provided is tracked in #379, for reference. It's not good, but shouldn't cause any "true" exceptions in a release build (since debug assertions wouldn't fire). Things are certainly non-deterministic because of our current implementation of the analysis order, which will be changed in the future with a true dependency graph.

@jakebailey
Copy link
Member

Ah, I just read your stack trace more closely and saw /home/sqs, which means Linux. 🙂

@MikhailArkhipov
Copy link

MikhailArkhipov commented Nov 14, 2018

The issue with changed hash typically happens when there is a bug in comparing elements. Item comparer says iterm is the same as one that is already in the bag, and yet hash comes different. Maybe related to the overloads comparison issue fixed post release. See #359.

Technically the discrepancy can be ignored and item can be accepted as identical so the collection remains the same.

@MikhailArkhipov MikhailArkhipov self-assigned this Nov 19, 2018
@MikhailArkhipov MikhailArkhipov added this to the Nov 2018.2 milestone Nov 19, 2018
@MikhailArkhipov MikhailArkhipov added the bug Something isn't working label Nov 19, 2018
@hvdklauw
Copy link

Will the python extension for VScode automatically download a new version of python language server once the fix is merged/released? Or do we then need to also wait for that package to be updated?

Kinda annoyed that nothing works anymore while it was working just fine for me before.

@jeffery9

This comment has been minimized.

@jakebailey
Copy link
Member

The extension will download a new build if it is available, yes. It'll do a check once a day, if my memory is correct. That check is separate from the extension's release schedule so we can do out-of-band releases.

We manually decide which revisions to release as stable/beta/daily releases (the latter for almost every master revision). After #418 is merged, we'll do a build which will go to daily, but we'd have to decide if we think it's stable enough for the stable version.

If you want to get that build before we even decide to publish it as stable, you can switch release channels in VSC by adding the following to your settings.json:

"python.analysis.downloadChannel": "daily"

To go back to stable, remove that entry, but be aware that the extension won't automatically downgrade (you'd need to delete its copy of the language server).

@hvdklauw
Copy link

Awesome, thanks !

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants