todo-tree icon indicating copy to clipboard operation
todo-tree copied to clipboard

VS Code constantly reports "UNRESPONSIVE extension host"

Open Mingun opened this issue 3 years ago • 13 comments

Issue Type: Bug

This events generated constantly, VS Code starts profiling and collect 70 MB files of profiling every ten seconds, consuming space in /tmp.

This is content of Output page of the VS Code:

[2022-03-23 13:39:59.740] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 13:40:01.331] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 13:40:01.415] [renderer1] [warning] UNRESPONSIVE extension host: 'johnstoncode.svn-scm' took 28% of 1633.209ms, saved PROFILE here: 'file:///tmp/exthost-7a77c4.cpuprofile' [{"id":"belfz.search-crates-io","total":263190,"percentage":16},{"id":"Fr43nk.seito-openfile","total":337598,"percentage":21},{"id":"gc","total":11095,"percentage":1},{"id":"johnstoncode.svn-scm","total":450557,"percentage":28},{"id":"k5hh.pdf","total":305,"percentage":0},{"id":"mtxr.sqltools","total":31555,"percentage":2},{"id":"program","total":6096,"percentage":0},{"id":"redhat.vscode-yaml","total":120,"percentage":0},{"id":"self","total":408273,"percentage":25},{"id":"serayuzgur.crates","total":29914,"percentage":2},{"id":"vscjava.vscode-java-pack","total":47404,"percentage":3},{"id":"vscode.npm","total":45376,"percentage":3},{"id":"wayou.vscode-todo-highlight","total":1605,"percentage":0}]
[2022-03-23 13:40:01.522] [renderer1] [error] [Extension Host] (node:237719) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `code --trace-deprecation ...` to show where the warning was created)
[2022-03-23 13:51:18.667] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 13:51:20.065] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 13:51:21.519] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 84% of 1509.513ms, saved PROFILE here: 'file:///tmp/exthost-17b5d3.cpuprofile' [{"id":"2gua.rainbow-brackets","total":7059,"percentage":0},{"id":"aaron-bond.better-comments","total":329,"percentage":0},{"id":"alefragnani.numbered-bookmarks","total":308,"percentage":0},{"id":"Fr43nk.seito-openfile","total":153,"percentage":0},{"id":"gc","total":105104,"percentage":7},{"id":"Gruntfuggly.todo-tree","total":1268078,"percentage":84},{"id":"johnstoncode.svn-scm","total":306,"percentage":0},{"id":"mechatroner.rainbow-csv","total":157,"percentage":0},{"id":"mtxr.sqltools","total":304,"percentage":0},{"id":"program","total":479,"percentage":0},{"id":"rust-lang.rust","total":103602,"percentage":7},{"id":"self","total":15434,"percentage":1},{"id":"streetsidesoftware.code-spell-checker","total":6859,"percentage":0},{"id":"vscode.git","total":317,"percentage":0},{"id":"vscode.merge-conflict","total":479,"percentage":0},{"id":"wayou.vscode-todo-highlight","total":312,"percentage":0}]
[2022-03-23 13:51:23.592] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 13:51:24.751] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 13:51:26.022] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 91% of 1237.482ms, saved PROFILE here: 'file:///tmp/exthost-ed50fb.cpuprofile' [{"id":"gc","total":61416,"percentage":5},{"id":"Gruntfuggly.todo-tree","total":1128310,"percentage":91},{"id":"program","total":1083,"percentage":0},{"id":"rust-lang.rust","total":10041,"percentage":1},{"id":"self","total":18997,"percentage":2},{"id":"streetsidesoftware.code-spell-checker","total":1321,"percentage":0},{"id":"vscode.git","total":16063,"percentage":1}]
[2022-03-23 13:54:11.604] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 13:54:12.317] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 13:54:13.195] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 92% of 789.831ms, saved PROFILE here: 'file:///tmp/exthost-3ff007.cpuprofile' [{"id":"2gua.rainbow-brackets","total":4449,"percentage":1},{"id":"aaron-bond.better-comments","total":157,"percentage":0},{"id":"alefragnani.numbered-bookmarks","total":157,"percentage":0},{"id":"gc","total":41980,"percentage":5},{"id":"Gruntfuggly.todo-tree","total":725816,"percentage":92},{"id":"johnstoncode.svn-scm","total":158,"percentage":0},{"id":"mtxr.sqltools","total":172,"percentage":0},{"id":"program","total":829,"percentage":0},{"id":"rust-lang.rust","total":1316,"percentage":0},{"id":"self","total":11323,"percentage":1},{"id":"streetsidesoftware.code-spell-checker","total":2740,"percentage":0},{"id":"vscode.merge-conflict","total":459,"percentage":0}]
[2022-03-23 13:54:20.322] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 13:54:21.101] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 13:54:22.026] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 95% of 858.651ms, saved PROFILE here: 'file:///tmp/exthost-8145e6.cpuprofile' [{"id":"aaron-bond.better-comments","total":168,"percentage":0},{"id":"gc","total":41531,"percentage":5},{"id":"Gruntfuggly.todo-tree","total":815869,"percentage":95},{"id":"rust-lang.rust","total":341,"percentage":0},{"id":"self","total":320,"percentage":0},{"id":"streetsidesoftware.code-spell-checker","total":170,"percentage":0}]
[2022-03-23 13:54:24.398] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 13:54:25.384] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 13:54:26.519] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 94% of 1080.776ms, saved PROFILE here: 'file:///tmp/exthost-57e993.cpuprofile' [{"id":"gc","total":55786,"percentage":5},{"id":"Gruntfuggly.todo-tree","total":1020154,"percentage":94},{"id":"program","total":452,"percentage":0},{"id":"rust-lang.rust","total":1848,"percentage":0},{"id":"self","total":2078,"percentage":0},{"id":"streetsidesoftware.code-spell-checker","total":166,"percentage":0},{"id":"vscode.merge-conflict","total":175,"percentage":0}]
[2022-03-23 16:52:22.348] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 16:52:25.765] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 16:52:29.500] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 94% of 3508.822ms, saved PROFILE here: 'file:///tmp/exthost-f40ca0.cpuprofile' [{"id":"2gua.rainbow-brackets","total":170,"percentage":0},{"id":"aaron-bond.better-comments","total":154,"percentage":0},{"id":"alefragnani.numbered-bookmarks","total":152,"percentage":0},{"id":"gc","total":168175,"percentage":5},{"id":"Gruntfuggly.todo-tree","total":3310986,"percentage":94},{"id":"johnstoncode.svn-scm","total":169,"percentage":0},{"id":"mtxr.sqltools","total":325,"percentage":0},{"id":"rust-lang.rust","total":169,"percentage":0},{"id":"self","total":24413,"percentage":1},{"id":"streetsidesoftware.code-spell-checker","total":3138,"percentage":0},{"id":"voldemortensen.rainbow-tags","total":153,"percentage":0},{"id":"vscode.emmet","total":154,"percentage":0},{"id":"vscode.git","total":336,"percentage":0},{"id":"wayou.vscode-todo-highlight","total":158,"percentage":0}]
[2022-03-23 16:52:31.323] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-23 16:52:34.568] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-23 16:52:37.878] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 96% of 3321.499ms, saved PROFILE here: 'file:///tmp/exthost-467699.cpuprofile' [{"id":"gc","total":118686,"percentage":4},{"id":"Gruntfuggly.todo-tree","total":3201567,"percentage":96},{"id":"program","total":486,"percentage":0},{"id":"self","total":321,"percentage":0},{"id":"vscode.merge-conflict","total":170,"percentage":0}]
[2022-03-24 09:44:59.544] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 09:45:00.380] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 09:45:01.582] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 62% of 1461.663ms, saved PROFILE here: 'file:///tmp/exthost-bd1f3b.cpuprofile' [{"id":"2gua.rainbow-brackets","total":15619,"percentage":1},{"id":"aaron-bond.better-comments","total":2330,"percentage":0},{"id":"alefragnani.numbered-bookmarks","total":311,"percentage":0},{"id":"gc","total":95430,"percentage":7},{"id":"Gruntfuggly.todo-tree","total":908378,"percentage":62},{"id":"mtxr.sqltools","total":306,"percentage":0},{"id":"program","total":175,"percentage":0},{"id":"self","total":12967,"percentage":1},{"id":"streetsidesoftware.code-spell-checker","total":8211,"percentage":1},{"id":"voldemortensen.rainbow-tags","total":245591,"percentage":17},{"id":"vscode.git","total":151880,"percentage":10},{"id":"vscode.merge-conflict","total":459,"percentage":0},{"id":"wayou.vscode-todo-highlight","total":475,"percentage":0}]
[2022-03-24 09:45:03.986] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 09:45:05.402] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 09:45:07.019] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 89% of 1515.936ms, saved PROFILE here: 'file:///tmp/exthost-7c6605.cpuprofile' [{"id":"gc","total":78058,"percentage":5},{"id":"Gruntfuggly.todo-tree","total":1344519,"percentage":89},{"id":"program","total":73615,"percentage":5},{"id":"self","total":17099,"percentage":1},{"id":"streetsidesoftware.code-spell-checker","total":477,"percentage":0},{"id":"vscode.git","total":1447,"percentage":0},{"id":"vscode.merge-conflict","total":475,"percentage":0}]
[2022-03-24 09:45:31.308] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 09:45:42.776] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 89% of 5145.568ms, saved PROFILE here: 'file:///tmp/exthost-778c07.cpuprofile' [{"id":"2gua.rainbow-brackets","total":24861,"percentage":0},{"id":"aaron-bond.better-comments","total":154,"percentage":0},{"id":"alefragnani.numbered-bookmarks","total":155,"percentage":0},{"id":"gc","total":343761,"percentage":7},{"id":"Gruntfuggly.todo-tree","total":4578471,"percentage":89},{"id":"mechatroner.rainbow-csv","total":151,"percentage":0},{"id":"mtxr.sqltools","total":303,"percentage":0},{"id":"program","total":153,"percentage":0},{"id":"redhat.vscode-xml","total":462,"percentage":0},{"id":"redhat.vscode-yaml","total":152,"percentage":0},{"id":"rust-lang.rust","total":133,"percentage":0},{"id":"self","total":5154,"percentage":0},{"id":"serayuzgur.crates","total":307,"percentage":0},{"id":"streetsidesoftware.code-spell-checker","total":4324,"percentage":0},{"id":"voldemortensen.rainbow-tags","total":186739,"percentage":4},{"id":"vscode.emmet","total":154,"percentage":0}]
[2022-03-24 09:47:21.598] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 09:47:23.435] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 09:47:25.132] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 65% of 2171.053ms, saved PROFILE here: 'file:///tmp/exthost-635c0c.cpuprofile' [{"id":"2gua.rainbow-brackets","total":20797,"percentage":1},{"id":"aaron-bond.better-comments","total":2803,"percentage":0},{"id":"alefragnani.numbered-bookmarks","total":150,"percentage":0},{"id":"gc","total":135484,"percentage":6},{"id":"Gruntfuggly.todo-tree","total":1405485,"percentage":65},{"id":"mtxr.sqltools","total":328,"percentage":0},{"id":"program","total":338,"percentage":0},{"id":"redhat.vscode-xml","total":56040,"percentage":3},{"id":"self","total":64535,"percentage":3},{"id":"serayuzgur.crates","total":173,"percentage":0},{"id":"streetsidesoftware.code-spell-checker","total":36177,"percentage":2},{"id":"voldemortensen.rainbow-tags","total":304333,"percentage":14},{"id":"vscode.git","total":142922,"percentage":7},{"id":"vscode.merge-conflict","total":1252,"percentage":0}]
[2022-03-24 09:47:27.080] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 09:47:38.696] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 93% of 5097.977ms, saved PROFILE here: 'file:///tmp/exthost-d46e31.cpuprofile' [{"id":"gc","total":321246,"percentage":6},{"id":"Gruntfuggly.todo-tree","total":4753598,"percentage":93},{"id":"mtxr.sqltools","total":634,"percentage":0},{"id":"program","total":1411,"percentage":0},{"id":"redhat.vscode-xml","total":154,"percentage":0},{"id":"self","total":18267,"percentage":0},{"id":"serayuzgur.crates","total":139,"percentage":0},{"id":"streetsidesoftware.code-spell-checker","total":152,"percentage":0},{"id":"vscode.emmet","total":158,"percentage":0},{"id":"vscode.git","total":1513,"percentage":0},{"id":"vscode.merge-conflict","total":459,"percentage":0}]
[2022-03-24 09:47:53.816] [renderer1] [info] Setting search error: XHR failed
[2022-03-24 09:47:53.892] [renderer1] [info] Setting search error: XHR failed
[2022-03-24 09:48:07.323] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 09:48:08.692] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 09:48:10.462] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 93% of 1490.583ms, saved PROFILE here: 'file:///tmp/exthost-85a484.cpuprofile' [{"id":"gc","total":85297,"percentage":6},{"id":"Gruntfuggly.todo-tree","total":1392691,"percentage":93},{"id":"mtxr.sqltools","total":140,"percentage":0},{"id":"program","total":475,"percentage":0},{"id":"redhat.vscode-xml","total":845,"percentage":0},{"id":"self","total":4476,"percentage":0},{"id":"streetsidesoftware.code-spell-checker","total":165,"percentage":0},{"id":"vscode.json-language-features","total":6239,"percentage":0}]
[2022-03-24 09:48:12.815] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 09:48:15.708] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 09:48:18.143] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 67% of 2997.809ms, saved PROFILE here: 'file:///tmp/exthost-c1b45c.cpuprofile' [{"id":"2gua.rainbow-brackets","total":75606,"percentage":3},{"id":"aaron-bond.better-comments","total":5298,"percentage":0},{"id":"alefragnani.numbered-bookmarks","total":890,"percentage":0},{"id":"gc","total":218089,"percentage":7},{"id":"Gruntfuggly.todo-tree","total":2003347,"percentage":67},{"id":"mtxr.sqltools","total":1287,"percentage":0},{"id":"program","total":125661,"percentage":4},{"id":"redhat.vscode-xml","total":2167,"percentage":0},{"id":"redhat.vscode-yaml","total":171,"percentage":0},{"id":"self","total":24831,"percentage":1},{"id":"streetsidesoftware.code-spell-checker","total":3995,"percentage":0},{"id":"voldemortensen.rainbow-tags","total":535327,"percentage":18},{"id":"vscode.merge-conflict","total":596,"percentage":0},{"id":"wayou.vscode-todo-highlight","total":324,"percentage":0}]
[2022-03-24 09:48:19.301] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW

...

[2022-03-24 10:39:57.731] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 10:40:01.778] [renderer1] [warning] UNRESPONSIVE extension host: 'Gruntfuggly.todo-tree' took 90% of 3684.081ms, saved PROFILE here: 'file:///tmp/exthost-40611f.cpuprofile' [{"id":"2gua.rainbow-brackets","total":2310,"percentage":0},{"id":"gc","total":368083,"percentage":10},{"id":"Gruntfuggly.todo-tree","total":3301113,"percentage":90},{"id":"mtxr.sqltools","total":481,"percentage":0},{"id":"program","total":4873,"percentage":0},{"id":"rust-lang.rust","total":1824,"percentage":0},{"id":"self","total":4093,"percentage":0},{"id":"streetsidesoftware.code-spell-checker","total":946,"percentage":0},{"id":"wayou.vscode-todo-highlight","total":160,"percentage":0}]
[2022-03-24 10:40:02.274] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 10:40:05.521] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 10:40:09.258] [renderer1] [error] Не удается записать файл "/tmp/exthost-f3c8a2.cpuprofile" (Unknown (FileSystemError): Error: ENOSPC: no space left on device, write): Error: Не удается записать файл "/tmp/exthost-f3c8a2.cpuprofile" (Unknown (FileSystemError): Error: ENOSPC: no space left on device, write)
    at v.writeFile (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:605:39831)
    at async n._processCpuProfile (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:1556:46932)
[2022-03-24 10:40:12.273] [renderer1] [warning] {}
[2022-03-24 10:40:14.403] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 10:40:24.698] [renderer1] [error] Не удается записать файл "/tmp/exthost-5f42eb.cpuprofile" (Unknown (FileSystemError): Error: ENOSPC: no space left on device, write): Error: Не удается записать файл "/tmp/exthost-5f42eb.cpuprofile" (Unknown (FileSystemError): Error: ENOSPC: no space left on device, write)
    at v.writeFile (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:605:39831)
    at async n._processCpuProfile (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:1556:46932)
[2022-03-24 10:40:29.469] [renderer1] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-03-24 10:40:30.357] [renderer1] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-03-24 10:40:31.570] [renderer1] [error] Не удается записать файл "/tmp/exthost-b19d03.cpuprofile" (Unknown (FileSystemError): Error: ENOSPC: no space left on device, write): Error: Не удается записать файл "/tmp/exthost-b19d03.cpuprofile" (Unknown (FileSystemError): Error: ENOSPC: no space left on device, write)
    at v.writeFile (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:605:39831)
    at async n._processCpuProfile (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/workbench/workbench.desktop.main.js:1556:46932)

Attach the first two files from that log: exthost.zip

Extension version: 0.0.215 VS Code version: Code 1.65.2 (c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1, 2022-03-10T15:36:26.048Z) OS version: Linux x64 5.4.0-105-generic Restricted Mode: No

System Info
Item Value
CPUs Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (8 x 3706)
GPU Status 2d_canvas: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
opengl: enabled_on
rasterization: disabled_software
skia_renderer: enabled_on
video_decode: disabled_software
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) 3, 3, 3
Memory (System) 31.05GB (0.26GB free)
Process Argv --unity-launch --crash-reporter-id 9971e083-5d53-4fa6-9ebd-ad3924f8b78d
Screen Reader no
VM 0%
DESKTOP_SESSION ubuntu
XDG_CURRENT_DESKTOP Unity
XDG_SESSION_DESKTOP ubuntu
XDG_SESSION_TYPE x11

Mingun avatar Mar 24 '22 05:03 Mingun

Can you post your todo-tree settings?

In particular, is todo-tree.general.enableFileWatcher enabled?

Gruntfuggly avatar Mar 24 '22 21:03 Gruntfuggly

I use default settings and todo-tree.general.enableFileWatcher is not enabled

Mingun avatar Mar 25 '22 05:03 Mingun

Can you enabled todo-tree.general.debug and the open the debug channel in the Output window (View->Output and then select Todo Tree). Can you see what is in there?

Also, is there anything unusual about your workspace?

Gruntfuggly avatar Mar 25 '22 19:03 Gruntfuggly

I'm having a similar issue on any workspace (no file watcher, issue goes away with tree disabled), the debug channel has no output.

ooliver1 avatar Nov 19 '22 01:11 ooliver1

Can you post your todo-tree settings (i.e. copy them from the json settings). The debug channel should show the command that is being sent to ripgrep - if that's not even being displayed then there is something very wrong happening. Can you also check if there is anything in the developer console (Help->Toggle Developer Tools)

Gruntfuggly avatar Nov 19 '22 15:11 Gruntfuggly

I have a similar issue on v0.0.220, but instead of just consuming /tmp space, it also makes VSCode completely unusable (https://github.com/microsoft/vscode/issues/167320). Here's a cpuprofile that precisely shows where in todo-tree it spends 4 seconds, freezing everything else: exthost-91a0b1.cpuprofile.txt.

sim642 avatar Dec 07 '22 15:12 sim642

Can you enabled todo-tree.general.debug and the open the debug channel in the Output window (View->Output and then select Todo Tree). Can you see what is in there?

No, after intial piece of logged data nothing logged in that channel.

My workspace is nothing unusual, but it contains a git repository with a lot of XML files with the overall size about 32 GB (about 23 GB is a .git folder).

There a lot of similar entries in the Window ("Окно" in my Russian VSCode) Log:

...
2023-02-01 16:17:01.974 [info] UNRESPONSIVE extension host: starting to profile NOW
2023-02-01 16:17:14.768 [warning] UNRESPONSIVE extension host: 'gruntfuggly.todo-tree' took 83.339800817482% of 4168.611ms, saved PROFILE here: 'file:///tmp/exthost-4eb682.cpuprofile'
2023-02-01 16:17:28.115 [info] UNRESPONSIVE extension host: starting to profile NOW
2023-02-01 16:17:41.863 [warning] UNRESPONSIVE extension host: 'gruntfuggly.todo-tree' took 83.58967900064674% of 4181.185ms, saved PROFILE here: 'file:///tmp/exthost-7d6a2e.cpuprofile'
2023-02-01 16:17:53.222 [info] UNRESPONSIVE extension host: starting to profile NOW
2023-02-01 16:18:06.006 [warning] UNRESPONSIVE extension host: 'gruntfuggly.todo-tree' took 82.3743163182767% of 4120.332ms, saved PROFILE here: 'file:///tmp/exthost-5eb726.cpuprofile'
2023-02-01 16:19:46.338 [info] UNRESPONSIVE extension host: starting to profile NOW
2023-02-01 16:19:59.519 [warning] UNRESPONSIVE extension host: 'gruntfuggly.todo-tree' took 82.8383527115278% of 4143.586ms, saved PROFILE here: 'file:///tmp/exthost-2e36c6.cpuprofile'
2023-02-01 16:23:16.498 [info] UNRESPONSIVE extension host: starting to profile NOW
2023-02-01 16:23:19.298 [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
2023-02-01 16:23:23.301 [warning] UNRESPONSIVE extension host: 'gruntfuggly.todo-tree' took 77.00753405389504% of 2157.095ms, saved PROFILE here: 'file:///tmp/exthost-bc0379.cpuprofile'
2023-02-01 16:25:45.442 [info] UNRESPONSIVE extension host: starting to profile NOW
2023-02-01 16:25:46.327 [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
2023-02-01 16:25:47.087 [warning] UNRESPONSIVE extension host: 'gruntfuggly.todo-tree' took 52.06527909283683% of 461.352ms, saved PROFILE here: 'file:///tmp/exthost-f8714a.cpuprofile'

The last 2 profiles from that log: exthost-todo-tree-logs.zip

The last lines in Todo Tree output in View->Output (note that timings from yesterday, so it didn't log anything for more than a day):

...
13:35:18.700 Found 2351 items
13:35:18.700 Applying globs to 2351 items...
13:35:18.766 Remaining items: 2351

Mingun avatar Feb 01 '23 11:02 Mingun

OK, so that's found nearly 2500 Todo's - is that what you would expect with your codebase? And you definitely haven't changed any of the default settings?

Can you scroll back in the output window and find the command it generated for the search? It should start with the path to ripgrep. The line before that should also show the pattern which it is searching for which would be good to see.

Gruntfuggly avatar Feb 01 '23 19:02 Gruntfuggly

Would you be prepared to try out some debug versions of the extension for me? Because the extension is minified the cpu logs are very difficult to get much out of - if I post a .vsix package that should make it easier to pinpoint where the blockage is.

Gruntfuggly avatar Feb 01 '23 19:02 Gruntfuggly

OK, so that's found nearly 2500 Todo's - is that what you would expect with your codebase?

Yes, that seems the case, although I do not need most of them. Probably, in my case the solution could be just ignore some folders.

And you definitely haven't changed any of the default settings?

Yes, the default settings except todo-tree.general.debug: true.

Can you scroll back in the output window and find the command it generated for the search?

All "Pattern" lines shows the same regexp, all "Command" lines different only by the name of the -f argument and the directory to find. The one of occurrences:

...
13:35:14.124 Searching /home/mingun/Projects/ksc-rs...
13:35:14.124 Writing pattern file:/home/mingun/.config/Code/User/workspaceStorage/34a1d0922531e34b34bc5aed6b6f6fb1/Gruntfuggly.todo-tree/2b8g2hcrfd.txt
13:35:14.124 Pattern:(//|#|<!--|;|/\*|^|^[ \t]*(-|\d+.))\s*(\[x\]|\[ \]|XXX|TODO|HACK|FIXME|BUG)
13:35:14.124 Command: /usr/share/code/resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg --no-messages --vimgrep -H --column --line-number --color never --max-columns=1000 --no-config  -f "/home/mingun/.config/Code/User/workspaceStorage/34a1d0922531e34b34bc5aed6b6f6fb1/Gruntfuggly.todo-tree/2b8g2hcrfd.txt" -g "!**/node_modules/*/**" "/home/mingun/Projects/ksc-rs"
13:35:14.597 Search results:
/home/mingun/Projects/ksc-rs/src/error.rs:15:35:  Expression(ParseError<LineCol>),//TODO: Add information about field

13:35:14.768 Search results:
...("Search results" group repeated several times...)
13:35:18.686  Match (File): {"fsPath":"/home/mingun/Projects/ksc-rs/src/error.rs","line":15,"column":35,"match":"  Expression(ParseError<LineCol>),//TODO: Add information about field","uri":{"$mid":1,"path":"/home/mingun/Projects/ksc-rs/src/error.rs","scheme":"file"}}
13:35:18.686  Match (File): {"fsPath":"/home/mingun/Projects/ksc-rs/formats/font/ttf.ksy","line":141,"column":15,"match":"              # TODO","uri":{"$mid":1,"path":"/home/mingun/Projects/ksc-rs/formats/font/ttf.ksy","scheme":"file"}}
...(repeated "Match (File)" lines)...
13:35:18.700 Found 2351 items
13:35:18.700 Applying globs to 2351 items...
13:35:18.766 Remaining items: 2351

The log started at [2023-01-31] 13:28:04.447 and end at 13:35:18.766. That is strange that nothing logged after this time, I have a feeling that logging in that channel just stop working.

Would you be prepared to try out some debug versions of the extension for me?

Yes, I can do that.

Mingun avatar Feb 02 '23 04:02 Mingun

OK thanks - I'll put together a debug version with some options and post it here.

I think the issue is simply the amount of items it is finding - and currently it builds a list of everything first then removes things you're not interested in - which is not the most efficient way to doing things!

In the short term, you can define todo-tree.filtering.includeGlobs to limit the search to only folders you're interested in, which should help.

Gruntfuggly avatar Feb 02 '23 19:02 Gruntfuggly

I'm also having this exact issue. It says Todo-Tree is continuously taking more than 2 seconds (every 5 seconds or so, sometimes, freezing the editor more like 40 seconds sometimes and making the editor unusable). To the point I had to disable it because it was being impossible to work.

I append that .cpuprofile file: exthost-7b45eb.cpuprofile.txt

Also, I created a debug channel, and nothing weird (IMHO):

...
16:21:05.993 Found 328 items
16:21:05.993 Applying globs to 328 items...
16:21:06.006 Remaining items: 328

(I think is not a crazy number or anything, and my workspace is not so big)

Todo-tree Is my fav and most useful extension without a doubt (thank you so much for it 🍀), so it hurts me so much not being able to use it. I really hope this gets fixed 🙏

SuzukaDev avatar Jun 17 '23 16:06 SuzukaDev

~~Not a solution (the UNRESPONSIVE extension host: 'gruntfuggly.todo-tree' and freezes still happening), but disabling the highlights reduced their frequency.~~ Edit: Well, not so much, still freezing a lot

This seems a very weird rendering issue (I got those messages on renderer.log). I guess that despite disabling the highlights those message must be when rendering the tree or something.

SuzukaDev avatar Jun 19 '23 10:06 SuzukaDev