Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory leak in notebook editor #204756

Closed
SimonSiefke opened this issue Feb 8, 2024 · 1 comment · Fixed by #204892
Closed

Memory leak in notebook editor #204756

SimonSiefke opened this issue Feb 8, 2024 · 1 comment · Fixed by #204892
Assignees
Labels
insiders-released Patch has been released in VS Code Insiders
Milestone

Comments

@SimonSiefke
Copy link
Contributor

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.86.0
  • OS Version: Ubuntu 23.04

Steps to Reproduce:

  1. Create an empty notebook file file.ipynb
  2. Open the file.ipynb
  3. Close the file.ipynb
  4. Repeat opening and closing the file several times
  5. Notice that the number of disposable stores increases each time

Summary

Looking at the stacktrace, it shows a lot of ScopedContextKeyServices are created in notebookEditorWidget.js:176:62:

this._overlayContainer = document.createElement('div')
this.scopedContextKeyService = contextKeyService.createScoped(this._overlayContainer) // disposable
this.instantiationService = instantiationService.createChild(new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))

It seems that the scopedContextKeyService is not registered like other disposables, possibly causing a memory leak.


Also in notebookEditorWidget, theNotebookEventDispatcher disposable doesn't seem to be registered:

  this._viewContext = new ViewContext(
    this._notebookOptions,
    new NotebookEventDispatcher(), // disposable
    language => this.getBaseCellEditorOptions(language));

It seems a possible solution could be to register both disposables using this._register.

Details

Click to expand

Raw disposable stores output

{
  "growingDisposableStores": {
    "before": [],
    "after": [
      [
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew AbstractContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:225:45)\nnew ScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:356:13)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)",
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew ScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:357:47)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)"
      ],
      [
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew AbstractContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:225:45)\nScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:356:13)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)",
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:357:47)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)"
      ],
      [
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew AbstractContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:225:45)\nScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:356:13)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)",
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:357:47)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)"
      ],
      [
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew AbstractContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:225:45)\nnew ScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:356:13)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)",
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew ScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:357:47)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)"
      ],
      [
        "NotebookWorkerClient._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nNotebookWorkerClient._getOrCreateWorker (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js:197:41)\nNotebookWorkerClient._getProxy (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js:208:25)\nNotebookWorkerClient._withSyncedResources (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js:189:25)\nNotebookWorkerClient.canPromptRecommendation (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js:178:25)\nvscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js:33:31",
        "NotebookWorkerClient._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nNotebookWorkerClient._getOrCreateModelManager (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js:184:43)\nvscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js:190:22"
      ],
      [
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew AbstractContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:225:45)\nScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:356:13)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)",
        "ScopedContextKeyService._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nScopedContextKeyService (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:357:47)\nScopedContextKeyService.createScoped (vscode-file://vscode-app/vscode/out/vs/platform/contextkey/browser/contextKeyService.js:252:20)\nnew NotebookEditorWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js:176:62)\nInstantiationService._createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:91:28)\nInstantiationService.createInstance (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:62:31)\nNotebookEditorWidgetService.retrieveWidget (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js:155:53)\nInstantiationService.invokeFunction (vscode-file://vscode-app/vscode/out/vs/platform/instantiation/common/instantiationService.js:46:24)\nNotebookEditor.setInput (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/notebook/browser/notebookEditor.js:146:59)\nEditorPanes.doSetInput (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:313:34)\nEditorPanes.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:180:55)\nEditorPanes.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorPanes.js:78:39)\nvscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:846:87\nEditorGroupView.doShowEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:865:19)\nEditorGroupView.doOpenEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:831:43)\nEditorGroupView.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/editor/editorGroupView.js:746:25)\nEditorService.openEditor (vscode-file://vscode-app/vscode/out/vs/workbench/services/editor/browser/editorService.js:426:26)\nasync AnythingQuickAccessProvider.openAnything (vscode-file://vscode-app/vscode/out/vs/workbench/contrib/search/browser/anythingQuickAccess.js:787:17)"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ],
      [
        "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)\nnew Action (vscode-file://vscode-app/vscode/out/vs/base/common/actions.js:12:38)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:475:47)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nupdateActions (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:466:29)\nUniqueContainer.value (vscode-file://vscode-app/vscode/out/vs/workbench/browser/parts/titlebar/menubarControl.js:496:29)\nDebounceEmitter._deliver (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:870:26)\nDebounceEmitter.fire (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:899:22)\nDebounceEmitter.resume (vscode-file://vscode-app/vscode/out/vs/base/common/event.js:1005:31)\nvscode-file://vscode-app/vscode/out/vs/base/common/event.js:1039:26"
      ]
    ]
  },
  "isLeak": true
}

Raw disposable stores output format

This output above captures the disposable stores as an array of arrays.

Each inner array represents a disposable store with the stacktraces.

For example, this represents a disposable store with one disposable, which has been created by Action._register in lifecycle.js:392:32:

[["Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)"]]

This represents a disposable store with three disposables:

[
  [
    "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)",
    "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)",
    "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)"
  ]
]

This represents two disposable stores: One empty disposable store and one disposable store with three disposables:

[
  [],
  [
    "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)",
    "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)",
    "Action._register (vscode-file://vscode-app/vscode/out/vs/base/common/lifecycle.js:392:32)"
  ]
]

Raw disposable stores output - ScopeContextKeyService

The full output contains 194 entries ScopedContextKeyService._register. It seems like a lot. Looking at the stacktrace, it shows the ScopedContextKeyServices are created in notebookEditorWidget.js:176:62:

this._overlayContainer = document.createElement('div')
this.scopedContextKeyService = contextKeyService.createScoped(this._overlayContainer)
this.instantiationService = instantiationService.createChild(new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))

It seems that the scopedContextKeyService is not registered like other disposables, it could be the cause of the memory leak.

Raw disposable stores output - Actions

The full output also contains 110 entries Action._register. Looking at the stacktrace, it shows the Actions are created in updateActions function in menubarControl.ts

if (menuItem instanceof SubmenuItemAction) {
  const submenuActions: SubmenuAction[] = []
  updateActions(menuItem.actions, submenuActions, topLevelTitle)

  if (submenuActions.length > 0) {
    target.push(new SubmenuAction(menuItem.id, mnemonicMenuLabel(title), submenuActions))
  }
}

It seems there could be a possible actions memory leak in menuBarControl.ts But here I couldn't find what exactly the problem is.

@VSCodeTriageBot
Copy link
Collaborator

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.86.1. Please try upgrading to the latest version and checking whether this issue remains.

Happy Coding!

@VSCodeTriageBot VSCodeTriageBot added the unreleased Patch has not yet been released in VS Code Insiders label Feb 12, 2024
@VSCodeTriageBot VSCodeTriageBot added this to the February 2024 milestone Feb 12, 2024
@VSCodeTriageBot VSCodeTriageBot added insiders-released Patch has been released in VS Code Insiders and removed unreleased Patch has not yet been released in VS Code Insiders labels Feb 13, 2024
@microsoft microsoft locked and limited conversation to collaborators Jun 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
insiders-released Patch has been released in VS Code Insiders
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants