microsoft / pylance-release

Documentation and issues for Pylance
Creative Commons Attribution 4.0 International
1.7k stars 769 forks source link

Frequent crashes when using jupyter kernels #6289

Open dlaflamme opened 3 weeks ago

dlaflamme commented 3 weeks ago

Environment data

Selected Jupyter core packages...
IPython          : 8.12.3
ipykernel        : 6.25.2
ipywidgets       : 8.1.1
jupyter_client   : 8.3.1
jupyter_core     : 5.3.1
jupyter_server   : 2.7.3
jupyterlab       : 4.0.6
nbclient         : 0.8.0
nbconvert        : 7.16.4
nbformat         : 5.9.2
notebook         : 7.0.3
qtconsole        : 5.4.4
traitlets        : 5.10.0

Additionally, in this case VS Code is running on a Windows client and the Remote-SSH extension is being used to access python code on the Linux server.

Code Snippet

There is not a specific code snippet that will trigger this. Instead, see the repro steps. he issue seems to be triggered by using the setup described in the repro steps for some period of time.

Repro Steps

Run a Jupyter notebook outside of VS Code. Do some development in it. In VS Code, start a Jupyter interactive session. "Select Another Kernel", then "Existing Jupyter Server", then select the the kernel running in the Jupyter notebook running outside of VS Code. Test it. (for example, set a variable value on one side and make sure you can see it on the other).

Do regular development in the notebook and run things in the interactive session to examine variables set in the Jupyter kernel.

Eventually pylance will crash. The crashing seems to have increased in frequency in more recent versions of Pylance. I have downgraded to 2024.6.1 and the frequency of occurrence had decreased (but has not been eliminated).

Logs

2024-08-09 15:07:49.959 [info] [Info  - 3:07:49 PM] (1913178) Adding fs watcher for directories:
 file:///%3Cdefault%20workspace%20root%3E
2024-08-09 15:07:49.959 [info] (1913178) Searching for source files
2024-08-09 15:07:49.959 [info] [Error - 3:07:49 PM] (1913178) File or directory "/<default workspace root>" does not exist.
2024-08-09 15:07:49.960 [info] [Info  - 3:07:49 PM] (1913178) No source files found.
2024-08-09 15:07:49.960 [info] (1913178) pytest configurations: {"message":"request cancelled","classes":["Test"],"files":["test_*.py","*_test.py"],"functions":["test"]}
2024-08-09 15:07:49.989 [info] (1913178) [IDX(FG)] index libraries file:///%3Cdefault%20workspace%20root%3E (index) ...
2024-08-09 15:07:49.989 [info] (1913178) [IDX(FG)]   read stdlib indices (25ms)
2024-08-09 15:07:49.990 [info] (1913178) [IDX(FG)] index libraries file:///%3Cdefault%20workspace%20root%3E (index) [succeed] (26ms)
2024-08-09 15:07:50.015 [info]

2024-08-09 15:07:50.020 [info] /local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1
(function(_0x13a791,_0x414e35){const _0xd9d12=a1_0xd8cc,_0x441090=_0x13a791();while(!![]){try{const _0x5d3d91=-parseInt(_0xd9d12(0xc71))/0x1*(-parseInt(_0xd9d12(0xefe))/0x2)+-parseInt(_0xd9d12(0x67b))/0x3+parseInt(_0xd9d12(0x1192))/0x4+-parseInt(_0xd9d12(0xebf))/0x5*(parseInt(_0xd9d12(0x354))/0x6)+parseInt(_0xd9d12(0xdd8))/0x7+parseInt(_0xd9d12(0xabd))/0x8*(parseInt(_0xd9d12(0xa38))/0x9)+-parseInt(_0xd9d12(0x115f))/0xa;if(_0x5d3d91===_0x414e35)break;else _0x441090['push'](_0x441090['shift']());}catch(_0x43489b){_0x441090['push'](_0x441090['shift']());}}}(a1_0x1861,0x2fbe0));function a1_0xd8cc(_0x1b7ac8,_0x31e06b){const _0x3bb2a7=a1_0x1861();return a1_0xd8cc=function(_0x26f0a1,_0x35f75a){_0x26f0a1=_0x26f0a1-0x96;let _0x186196=_0x3bb2a7[_0x26f0a1];return _0x186196;},a1_0xd8cc(_0x1b7ac8,_0x31e06b);}const a1_0x35f75a=(function(){let _0xa04dad=!![];return function(_0x534f52,_0x1d09ba){const _0x4aaf44=_0xa04dad?function(){const _0x50dc50=a1_0xd8cc;if(_0x1d09ba){const _0x288c95=_0x1d09ba[_0x50dc50(0xff0)](_0x534f52,arguments);return _0x1d09ba=null,_0x288c95;}}:function(){};return _0xa04dad=![],_0x4aaf44;};}()),a1_0x26f0a1=a1_0x35f75a(this,function(){const _0x41ed1f=a1_0xd8cc;return a1_0x26f0a1['toString']()[_0x41ed1f(0x772)](_0x41ed1f(0xe0f))[_0x41ed1f(0x1f6)]()[_0x41ed1f(0xa1b)](a1_0x26f0a1)[_0x41ed1f(0x772)](_0x41ed1f(0xe0f));});a1_0x26f0a1(),((()=>{var _0x2e8bbe={0x1676c:_0x135735=>{const _0x1cf6b0=a1_0xd8cc;function _0x28a2b1(_0x119417){const _0x722b41=a1_0xd8cc;var _0xc5e282=new Error('Cannot\x20find\x20module\x20\x27'+_0x119417+'\x27');_0xc5e282[_0x722b41(0x627)]=_0x722b41(0x944);throw _0xc5e282;}_0x28a2b1[_0x1cf6b0(0xb37)]=()=>[],_0x28a2b1[_0x1cf6b0(0xe9d)]=_0x28a2b1,_0x28a2b1['id']=0x1676c,_0x135735[_0x1cf6b0(0x1a4)]=_0x28a2b1;},0xd9c0:_0x1d2272=>{const _0x46e32f=a1_0xd8cc;function _0x39f7ca(_0x3a86df){const _0x588c46=a1_0xd8cc;var _0x2ef4ae=new Error(_0x588c46(0xab6)+_0x3a86df+'\x27');_0x2ef4ae[_0x588c46(0x627)]=_0x588c46(0x944);throw _0x2ef4ae;}_0x39f7ca[_0x46e32f(0xb37)]=()=>[],_0x39f7ca['resolve']=_0x39f7ca,_0x39f7ca['id']=0xd9c0,_0x1d2272[_0x46e32f(0x1a4)]=_0x39f7ca;},0x131bc:(_0x3dce86,_0x15a874,_0x39fc4b)=>{'use strict';const _0x4510a7=a1_0xd8cc;Object[_0x4510a7(0xa32)](_0x15a874,_0x4510a7(0x5a2),{'value':!![]}),_0x15a874['clone']=_0x15a874[_0x4510a7(0x9a3)]=_0x15a874[_0x4510a7(0x72f)]=_0x15a874[_0x4510a7(0xad2)]=_0x15a874[_0x4510a7(0x110b)]=_0x15a874[_0x4510a7(0x236)]=_0x15a874[_0x4510a7(0x27e)]=_0x15a874[_0x4510a7(0xa1e)]=void 0x0,_0x39fc4b(0xe474);const _0x530aa7=_0x39fc4b(0x171a8),_0x52eaf7=_0x39fc4b(0xbe38),_0xc97ca7=_0x39fc4b(0xb974),_0x36c8c9=_0x39fc4b(0xbde4),_0x59a00c=_0x39fc4b(0xfcc0),_0x63776e=_0x39fc4b(0xd8bc),_0x1f3d39=_0x39fc4b(0xe0a4),_0x4ee7c5=_0x39fc4b(0x15000),_0x43fe7f=_0x39fc4b(0x5e1c),_0x26403c=_0x39fc4b(0xef90),_0x48ccca=_0x39fc4b(0x1460),_0x54ae76=_0x39fc4b(0x9304),_0x13ae99=_0x39fc4b(0x1848),_0x276dbb=_0x39fc4b(0xd72c),_0x5d074f=_0x39fc4b(0x13afc),_0x2e20ab=_0x39fc4b(0x11bbc),_0x5578c0=_0x39fc4b(0xa41c),_0x43d1ab=_0x39fc4b(0x163ec),_0x1cf319=_0x39fc4b(0x857c),_0x19bf8a=_0x39fc4b(0xe39c),_0x444c=_0x39fc4b(0x1128c),_0x4f72a9=_0x39fc4b(0x3a44),_0x46a058=_0x39fc4b(0xd1f7),_0xf30067=_0x39fc4b(0x2e8c),_0x39aff9=_0x39fc4b(0x10eb0),_0x150c5d=_0x39fc4b(0x83b4),_0x323c03=_0x39fc4b(0x1169c),_0x2b1e9f=_0x39fc4b(0xe9c),_0x4d7d8f=_0x39fc4b(0xefdc),_0x20e3f2=_0x39fc4b(0x11da4),_0x3e66c3=_0x39fc4b(0x2054),_0x575017=_0x39fc4b(0xf328),_0x55daaa=_0x39fc4b(0x1574c),_0x3ae1dd=_0x39fc4b(0x771c),_0x46b538=_0x39fc4b(0x5300),_0xda50fd=_0x39fc4b(0xe6a4),_0xba5f7=_0x39fc4b(0x14e8c);class _0x5a89af extends _0xc97ca7[_0x4510a7(0x114f)]{constructor(_0x4b830c,_0x438a0a){const _0x461dca=_0x4510a7;var _0x10a769,_0x4f6a54,_0x510a91;super(_0x438a0a[_0x461dca(0x10d)]()),this[_0x461dca(0x10c7)]=_0x4b830c,this['_serviceProvider']=_0x438a0a,this['_openFiles']=new Set(),this[_0x461dca(0xc4e)]=_0x5578c0[_0x461dca(0x1fc)];const _0x202539={'rootUri':(_0x4f6a54=(_0x10a769=(0x0,_0x5d074f[_0x461dca(0x68c)])(this['_serviceProvider']))===null||_0x10a769===void 0x0?void 0x0:_0x10a769[_0x461dca(0x1f6)]())!==null&&_0x4f6a54!==void 0x0?_0x4f6a54:'','serviceId':this[_0x461dca(0x10c7)],'cancellationFolderName':(0x0,_0x59a00c[_0x461dca(0xba2)])(),'runner':undefined,'workerIndex':++_0x5a89af[_0x461dca(0x10bc)]};this[_0x461dca(0x50c)]=new _0x52eaf7[(_0x461dca(0xd94))](_0x43d1ab[_0x461dca(0xe19)],{'workerData':_0x202539}),this[_0x461dca(0x958)](new _0x20e3f2[(_0x461dca(0xc76))](this[_0x461dca(0x50c)],_0x10cff7=>!!_0x10cff7[_0x461dca(0xbdb)])),this[_0x461dca(0x5ed)]=new _0x575017[(_0x461dca(0x451))](this[_0x461dca(0x50c)],_0x438a0a['fs']()),(_0x510a91=_0x438a0a[_0x461dca(0x294)]())===null||_0x510a91===void 0x0?void 0x0:_0x510a91[_0x461dca(0xeec)](_0x202539['workerIndex'],this[_0x461dca(0x50c)]);}['dispose'](){const _0x220bbd=_0x4510a7;var _0x425780;this[_0x220bbd(0x1031)](),(_0x425780=this[_0x220bbd(0x50c)])===null||_0x425780===void 0x0?void 0x0:_0x425780[_0x220bbd(0xda1)](),this[_0x220bbd(0x50c)]=undefined;}['setFileOpened'](_0x317207,_0x9e502d,_0xf3f6e3,_0x41f3b2){const _0x5c271d=_0x4510a7;this[_0x5c271d(0xce2)][_0x5c271d(0x4bf)](_0x317207['key']),this[_0x5c271d(0x7be)]&&(_0x3ae1dd['Indexer']['requestIndexingFromBackgroundThread'](this[_0x5c271d(0x7be)][_0x5c271d(0x124a)],this['_serviceId'],this[_0x5c271d(0xd56)],this['_indexOptions'],this[_0x5c271d(0x7be)]['configOptions'],this[_0x5c271d(0x7be)][_0x5c271d(0x38e)],this[_0x5c271d(0x7be)][_0x5c271d(0xbcd)]),this[_0x5c271d(0x7be)]=undefined),super[_0x5c271d(0xd6d)](_0x317207,_0x9e502d,_0xf3f6e3,_0x41f3b2);}[_0x4510a7(0x18d)](_0x4bc5ae,_0x69c80e){const _0xe5032d=_0x4510a7;this[_0xe5032d(0xce2)][_0xe5032d(0x1269)](_0x4bc5ae[_0xe5032d(0x618)]),super[_0xe5032d(0x18d)](_0x4bc5ae,_0x69c80e);}[_0x4510a7(0x244)](_0xf93953,_0x3b3ccc,_0x4fbeb8,_0x112c25){const 

The above shows representative output. There are more lines like above but they are all of the same flavor as you see above.

Then, the last line in that sequence:

2024-08-09 15:07:50.026 [info] turesMap','natsort','getSourceMapper','_indicesPerService','autoFormatStrings','_maxFiles','typeHierarchy','aiosignal','canRenameSymbol','_generateQueryOptionsRegexes','_push','_containsNoIndentBeforeFirstStatement','moduleFileUri','typeHint','isMac','resolve','RunIndexer','pendulum','successes','markupsafe','_deepLearningModelInferenceRequest','applyRankerToItemsInPlace','addImportMRUKey','extend','stream','_controller','visitTuple','Profiler.enable','__createBinding','_rootUri','overloads','builder','python/jupyterDocumentSymbols','pylance.changeSpelling','\x20is\x20unknown','getParentImportResolutionRoot','DidChangeConfiguration','body','_findStringToken','google-cloud-logging','succeed','autoImportIndexUsed','fixAll','test/wait','getBundledNativeStubsPath','param','_runner','_containsToken','none','7580DmPbgA','getDeclarations','tree-sitter-rst.wasm','methods','getParameterAnnotationNode','test_*.py','mypy','_lspTelemetryThrottler','onCompletionResolve','pyright.createtypestub','Unresolved','didClose','kinds','_disposable','sentry-sdk','_maxItems','COMPLETION_COVERAGE','packageIndexDepths','bitarray','transition','getMappedUri','Refactoring.moveFileSameFile','GetWorkspaceKinds','canMoveSymbol','getContainingWorkspacesForFile','variableTypes','_generateCellMappedUri','_fixEpytextParagraph','CodeAction.MoveSymbol.moveSymbolsToNewFile','str','Except','visitStatementList','EmptyClassifier','}]\x20Profiling\x20stopped\x20at\x20','checkContainsReturn','_allowMoving','visitMemberAccess','visitTransition','IDX(FG)','getIndices','DEPRECATION_KEYWORDS','zlib','Failures','connection','tagSupport','addWorker','parseNotebookClose','_indexProgram','getSymbols','isVisibleExternally','normalCompletionAcceptedCommand','findNodeByPosition','exception','symbolDeclToIgnore','PerformanceTracking','None','root','FailureReason','deepLearning','_startupDuration','pylance.dumpTypes','azure-mgmt-containerservice','_loopTypes','146IDFRgI','TypeStringGenerator','section','completion_accepted','PythonVersion','_generateInstalledPackagesBitArray','twine','autoImportImportAliasCount','resolveFunction','processPartialStubPackages','getConfiguration','withQuery','PYRIGHT_VERSION','applyImports','effectiveMetaclass','isCancellationRequested','.\x20Exception:\x20','Exceptions','isClassMethod','Default','getNotebookUriFromCell','_caseSensitivityDetector','azure-core','filterText','supportDocstringTemplate','is64','Type','pyright.dumpFileDebugInfo','updateJupyterSection','getUserFiles','checkDecorator','_mutator','__decorate','isFirstRun','contentFormat','getMatchingAutoImports','_findOutputSymbols','_isExportedSymbol','getText','setAllowedRoots','getDocumentationUrlForDiagnostic','newFileUri','@param','shutdown','_autoFormatStrings','UriMapper','_getLineEndingLength','_lastDiagnosticKey','dict','_convertImportFormat','_isTestClass','normalizeSlashes','indexing:\x20','VirtualDirent','pylance.extractVariable','UriEx','getGlobalMRUQueue','DidOpenNotebookDocument','hasDocumentChangeCapability','fixupGoogleDoc','Recommendations','getContainer','PylanceBackgroundAnalysisProgram','pylance.implementAllAbstractClasses','loadModelAsync','PythonFormatOnTypeProvider','CompletionListConverter','ReturnFinder','Measurements','_currentUnresolvedModules','typeHintComment','PYLANCE_EXTENSION_ID','```\x0a','call','cancellationProvider','logLevel','Sequence','visitSuite','workspaceName','_pushMultiLineToken','isLastNameOfModuleName','workspaceEdit','handleTypeHierarchySupertypes','onWorkspaceAnalysisCompletedHandler','shadowed','getStandardVariableType','addNameToCompletions','_caseSensitiveDetector','Rename','toUserVisibleString','_tokens','typeArguments','getTokenAt','onPrepare','parameters','CellDocs','```','applyPythonPath','port','getBoundMagicMethod','_addName','modelPath','_pylanceMsgHandlers','textDocument/onTypeFormatting','getCancellationTokenFromId','__rlshift__','}]\x20Profiling\x20stopped\x20but\x20there\x20is\x20no\x20place\x20to\x20save\x20data.','_sourceMapper','ExtractMethodProvider','__builtins__','line','sendRequest','handleTypeHierarchyPrepare','RENAME_FILES','_parseResults','addListener','keywordType','_builder','_appendMember','Module','identity','_handleBuiltInType','appendCodeActions','GetWorkspaceSettings','_selectionInsideComment','throwIfCancellationRequested','onTypeDefinition','pythonFile','_isValidExtractionNode','functionReturnTypes','clientVerification','InsertTextFormat','operatorToken','getSmartSelectionRange','_getDeclarationsInModuleFirst','ANALYSIS_COMPLETE','convertToFlatSymbols','DefaultPylanceSourceFileFactory','match','isClass','_originalText','YIELDS_KEYWORDS','_peakRss','_pipeName','_insertAfterNodeAndRewalk','scopeUri','lspHoverRequestTelemetry','outermostName','findMethodPosition','visitList','<sup>','changesOnly','removeArrayElements','Position','generateVerificationString','pick','onHover','Program','relativeStubs','handleDidChangeWatchedFiles','x64','parseDiagLevel','PylanceLanguageService','ensureModelLoaded','argCategory','typeEvalTime','test/analyzeFile','resolveCompletionItem','@staticmethod','_getBestMatch','combine','_maxMruCount','visitImportFrom','documentSelector','WORKSPACEINDEX_SLOW','MRUQueueKey','_restParser','setModelLoadInfo','addFixtureTypeAnnotation','{\x22version\x22:\x222024.8.1\x22,\x22pyrightCommit\x22:\x22ee42447964f776ef94eaf2bd307fd58ffeef0821\x22,\x22pyrightVersion\x22:\x221.1.373\x22}','fget','AsyncLspLanguageServer','isNotebookKernelChange','Deprecated','_configOptions','partialOverride','_moduleNames','OverrideUsageProviderFactory','typeName','pylance.dumpCodeFlowGraph','methodSignature','Todo','getCompletionItemData','searchImports','installed_packages','isPythonBinary','_sequentializer','_getOriginalForm','handleDidOpenTextDocument','selectionRangeProvider','_isNodeInRange','_implementAllAbstractClasses','visitSpecialTermListItem','sklearn','EXPANDED','_clearPersistedIndices','createCommand','definition','__rmul__','importAliasTimeInMS','trustedWorkspaceSupport','bool','findPythonSearchPaths','test/getWorkspaceSettings','getTypeAliasInfo','Extract','azure-mgmt-msi','Indice\x20for\x20','performance','python.createTypeStub','_getWritableFileSystem','https://github.com/microsoft/pyright/blob/main/docs/configuration.md#','RunOnceWorker','RETURNS_KEYWORDS','isAnyOrUnknown','IntelliCode:\x20current\x20invocation\x20did\x20not\x20produce\x20any\x20meaningful\x20tokens.','isFunctionDeclaration','appendDeclarationsAt','PylanceDiagnosticSink','__instancecheck__','hasActiveParameterCapability','_containsInit','provider','isOverloaded','_addTelemetry','doForEachSubtype','moduleVersion','findExecEnvironment','file/readSync','vendor','getTypeForDeclaration','main','apply','RenameProvider','relativePatternSupport','Invalid\x20Expression\x20and\x20Statement\x20Selected','getImportPathInfo','createForModule','resolveInlayHintEdit','getToolTipForType','google-cloud-pubsublite','Limited','methodCount','createDecipheriv','callArgumentNameInlayHints','resolveAssignments','onWorkspaceCreated','_getPluginFixtureNodes','attachWorkDone','__setattr__','SkipBlankLines','allowAskingUsersPerformanceReporting','telemetry','_stringDefinitionFinder','False','---','selfParameter','responses','_evaluator','stop','__ixor__','_maxDegreeOfParalellism','starting','CodeAction.AutoImport.searchImport','_isTestFunction','_handleOperator','visitInterpretedText','moveFileMultipleDeclarations','selectedTokens','Refactoring.moveFileDescription','absoluteUnresolved','_logError','_printPropertyMethodSignatures','refreshIndexing','snippet','isTrusted','methodClass','previousResult','createProgressReporter','w3lib','AddTypeIgnore','int32','findingReferences','_getUnionTypeString','logTracker','_cachedPytestPath','convertDocumentRange','binarySearch','_getNewModuleName','Extract\x20Method','createFromFileSystem','ISettingTransformer','Profiler.disable','_handleIdentifier','report','azure-mgmt-network','AggregatedWorkspaceSymbolProvider','cancelIndexing','finally','taskListTokens','semanticTokens','azure-mgmt-web','python/endProgress','dirExistsCached','isVariableDeclaration','isTestFile','_tryConvertFromOriginal','**_','LimitedFileSystem','visitFieldBody','__sub__','_elapsedSum','configuration','_isMultilineDocComment','_isSymbol','\x0a---\x0a','verifyClient','isBundledStub','isRefactoringCommand','IS_RELEASE','_extractVariableGenerator','_info','visitStandaloneHyperlink','ERROR','python/jupyterReferences','_getToken','rtree','dispose','profilingFolderUri','hasOwnProperty','reportIssue','previousResultId','ToNewFile','pyee','convertToMarkdown','positionOnlyParamCount','addDisposables','fdelInfo','createAnalyzerServiceForWorkspace','onFileDirty','getMagicMethodInfoForIdentifier',':returns:\x20','PylanceSourceFile','_printOverloadedMethodSignatures','_nextWindow','Token','CompletionItemCommand','typeHierarchy/subtypes','isTypeDeclared','execEnv','startLogging','elapsedMs','worker_threads','hasPythonExtension','getScopeForNode','readline','_vs_invokeKind','prefixLength','partial','COMPLETION_ACCEPTED','value','failures','_areImportInfoSame','file/statSync','toLocaleLowerCase','importAliasCount','setHostCache','Cannot\x20extract\x20continue\x20without\x20enclosing\x20while/for\x20loop','typeCheckingMode','convertToTextEdits','shift','lastKnownModule','importAdder','azure-mgmt-redis','applyLimitedSettings','_allowedRoots','_isOpen','```\x20python\x0a','isMappedUri','pythonAnalysisSectionName','callHierarchy/outgoingCalls','source','getMemberAccessCompletions','WorkspacePythonPathKind','CancellationToken','Sequencer','textDocument/typeDefinition','_getAndResetModuleNames','input_batch:0','onSubtypes','callCount','meta'];a1_0x1861=function(){return _0x44887d;};return a1_0x1861();}

Then several blank lines that just look like the following (a log header with no content)

2024-08-09 15:07:50.028 [info]

and finally:

Error: Debug Failure. False expression: Duplicate path in cellFilePaths: untitled:/Interactive-2.interactive.py#W0sdW50aXRsZWQ%3D

untitled:/Interactive-2.interactive.py
    at _0x6c33a1 (/local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:920305)
    at _0x965717 (/local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:924945)
    at _0x263d8 (/local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:925386)
    at /local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.1/dist/server.bundle.js:1:851177

2024-08-09 15:07:50.245 [info] [Error - 3:07:50 PM] Server process exited with code 1.
2024-08-09 15:07:50.247 [info] [Error - 3:07:50 PM] Pylance has crashed 5 times in the last 3 minutes. Pylance will not be restarted. Please check [this link](https://aka.ms/AApf7ox) for more details.

Additionally, I have tried setting "python.analysis.logLevel": "Trace" (on VS Code GUI side that is running on windows--but I don't see trace level logs in the output on the Linux host, so not sure if I did that right.

rchiodo commented 3 weeks ago

What's your version of the Python extension? This might be a dupe of this issue: https://github.com/microsoft/pylance-release/issues/6178

which required an update to the Python extension.

rchiodo commented 3 weeks ago

This is the commit in the Python extension that fixed the problem: https://github.com/microsoft/vscode-python/commit/3641652cca5622839f196c2dc13d5648b8fc8a21

dlaflamme commented 3 weeks ago

Will check this, thanks.

dlaflamme commented 1 week ago

OK, we updated to the following:

Can you confirm these have the fix that you mentioned above? It was unclear to me if they did.

And we're still getting an error that looks similar to the originally reported one. The small piece of additional information is that it seems to happen "after a while" and is triggered when the user has 2 interactive windows open (each connected to a different kernel), and the switches between them.

2024-08-30 10:22:13.138 [info] Error: Debug Failure. False expression: Chained file path untitled:/Interactive-3.interactive.py#pylancePrefixCell doesn't match cellFilePaths undefined
    at _0x4c4f8d (/local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/server.bundle.js:1:1073408)
    at _0xc0b312 (/local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/server.bundle.js:1:1077607)
    at _0x508620 (/local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/server.bundle.js:1:1078049)
    at /local/home/user/.vscode-server/extensions/ms-python.vscode-pylance-2024.8.2/dist/server.bundle.js:1:1004156

2024-08-30 10:22:13.459 [info] [Error - 10:22:13 AM] Server process exited with code 1.
2024-08-30 10:22:13.461 [info] [Error - 10:22:13 AM] Pylance has crashed 5 times in the last 3 minutes. Pylance will not be restarted. Please check [this link](https://aka.ms/AApf7ox) for more details.

With regards to trace logging, we have "python.analysis.logLevel": "Trace", set in the user's settings.json file, but I don't see TRACE-level logging in on the in the python plugin logs so I am not sure it is being set. Additionally, when I look at ~/.vscode-server/data/Machine/settings.json that file is empty. Let me know if there is a better way to confirm the log level is being set.

heejaechang commented 1 week ago

looks like we have some issue with interactive window. I have another report on it - https://github.com/microsoft/pylance-release/issues/6312 - that probably due to crash as well.

dlaflamme commented 1 week ago

Let me know if there is anything else I could provide to help.