-
Notifications
You must be signed in to change notification settings - Fork 37.2k
Closed as not planned
Labels
editor-foldingEditor code folding issuesEditor code folding issuesfreeze-slow-crash-leakVS Code crashing, performance, freeze and memory leak issuesVS Code crashing, performance, freeze and memory leak issues
Description
Expected behaviour
When duplicating selected text and then deleting it again, the number of promises stays the same
Actual behaviour
When duplicating selected text and then deleting it, the number of promises increases each time. Duplicating selection 197 times in VS Code 1.105.1:
{
"promisesWithStackTrace": [
{
"count": 394,
"properties": [
{
"name": "[[PromiseState]]",
"type": "string",
"value": "pending"
},
{
"name": "[[PromiseResult]]",
"type": "undefined",
"value": "undefined"
}
],
"originalStack": [
"src/vs/editor/contrib/folding/browser/folding.ts:345:6",
"src/vs/editor/contrib/folding/browser/folding.ts:301:7",
"src/vs/editor/contrib/folding/browser/folding.ts:251:96",
"src/vs/base/common/event.ts:1201:12",
"src/vs/base/common/event.ts:1212:17",
"src/vs/base/common/event.ts:1236:22",
"src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts:1816:35",
"src/vs/base/common/event.ts:1201:12"
]
},
{
"count": 394,
"properties": [
{
"name": "[[PromiseState]]",
"type": "string",
"value": "fulfilled"
},
{
"name": "[[PromiseResult]]",
"type": "undefined",
"value": "undefined"
}
],
"originalStack": [
"src/vs/workbench/contrib/comments/browser/commentsController.ts:710:6",
"src/vs/workbench/contrib/comments/browser/commentsController.ts:939:9",
"src/vs/base/common/event.ts:1201:12",
"src/vs/base/common/event.ts:1212:17",
"src/vs/base/common/event.ts:1236:22",
"src/vs/editor/browser/widget/codeEditor/codeEditorWidget.ts:1816:35",
"src/vs/base/common/event.ts:1201:12",
"src/vs/base/common/event.ts:1232:17"
]
},
{
"count": 197,
"properties": [
{
"name": "[[PromiseState]]",
"type": "string",
"value": "fulfilled"
},
{
"name": "[[PromiseResult]]",
"type": "undefined",
"value": "undefined"
}
],
"originalStack": [
"src/vs/workbench/contrib/scm/browser/quickDiffModel.ts:232:10",
"src/vs/editor/common/model/textModel.ts:243:87",
"src/vs/base/common/event.ts:1201:12",
"src/vs/base/common/event.ts:1212:17",
"src/vs/base/common/event.ts:1236:22",
"src/vs/editor/common/model/textModel.ts:2669:22",
"src/vs/editor/common/model/textModel.ts:1432:22"
]
},
{
"count": 197,
"properties": [
{
"name": "[[PromiseState]]",
"type": "string",
"value": "fulfilled"
},
{
"name": "[[PromiseResult]]",
"type": "undefined",
"value": "undefined"
}
],
"originalStack": [
"src/vs/workbench/contrib/scm/browser/quickDiffModel.ts:232:10",
"src/vs/editor/common/model/textModel.ts:243:87",
"src/vs/base/common/event.ts:1201:12",
"src/vs/base/common/event.ts:1212:17",
"src/vs/base/common/event.ts:1236:22",
"src/vs/editor/common/model/textModel.ts:2669:22",
"src/vs/editor/common/model/textModel.ts:1301:22"
]
}
]}Based on the stack traces, it seems to show 4 promise memory leaks:
- one related to folding
- one related to commentsController
- two related to quickDiffModel
Additional information
Test script for leaked promises:
git clone git@github.com:SimonSiefke/vscode-memory-leak-finder.git &&
cd vscode-memory-leak-finder &&
npm ci &&
node packages/cli/bin/test.js --cwd packages/e2e --only editor.duplicate-selection --runs 97 --check-leaks --measure promises-with-stack-trace --run-skipped-tests-anyway --measure-after &&
cat .vscode-memory-leak-finder-results/promises-with-stack-trace/editor.duplicate-selection.jsonThe script can also be run with a local vscode version by passing --vscode-version "/some/custom/path/to/vscode/scripts/code.sh".
Other
Does this issue occur when all extensions are disabled?: Yes
- VS Code Version: 1.105.1
- OS Version: Ubuntu 25.04
Metadata
Metadata
Assignees
Labels
editor-foldingEditor code folding issuesEditor code folding issuesfreeze-slow-crash-leakVS Code crashing, performance, freeze and memory leak issuesVS Code crashing, performance, freeze and memory leak issues