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

Unreasonably enormous memory usage with Kate on Windows since 3.8 #2063

Open
3 tasks done
alex-martin-img1 opened this issue Sep 8, 2023 · 2 comments
Open
3 tasks done

Comments

@alex-martin-img1
Copy link

alex-martin-img1 commented Sep 8, 2023

Prerequisites

  • Write a descriptive title.
  • Make sure you are able to repro it on the latest version
  • Search the existing issues.

Steps to reproduce

I don't know what exactly triggers this and narrowing it down isn't easy, but here's some possible steps:

  1. Install Kate 23.08 on x64 Windows, using traditional installation.
  2. Unpack PowerShellEditorServices somewhere convenient.
  3. Create a PowerShell script like this:
mkdir -ErrorAction SilentlyContinue $env:TEMP/pses-qdls
& 'C:/PATH/TO/PSES/PowerShellEditorServices/Start-EditorServices.ps1' -BundledModulesPath C:/PATH/TO/PSES -LogPath $env:TEMP/pses-qdls/logs.log -SessionDetailsPath $env:TEMP/pses-qdls/session.json -FeatureFlags @() -AdditionalModules @() -HostName 'qdls' -HostProfileId 'qdls' -HostVersion 0.0.0 -Stdio -LogLevel Normal
  1. Enable Kate's LSP client: Toggle on Settings > Configure Kate > Plugins > LSP Client, then apply.
  2. Go to the Settings > Configure Kate > LSP Client > User Server Settings and add a block like this:
{
     "servers": {
          "powershell": {
              "command": ["pwsh", "-NoLogo", "-NoProfile", "-Command", "$PSStyle.OutputRendering = 'PlainText'; & C:/PATH/TO/PowerShellLanguageServer.ps1"],
              "highlightingModeRegex": "^PowerShell$"
          }
     }
}
  1. Open Task Manager and watch the memory usage of the pwsh process Kate spawns as you browse around a large PowerShell project. Make sure you have a build of the project on $PSModulePath so PSES sees its functions etc.

Expected behavior

Reasonable memory usage.

Actual behavior

Memory usage of multiple Gbytes after running for a few minutes.

Error details

No response

Environment data

PS$> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.6
PSEdition                      Core
GitCommitId                    7.3.6
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Version

3.10.0, 3.9.0, 3.8.7; 3.7.3 not affected

Visuals

No response

@alex-martin-img1
Copy link
Author

Here's the contents of my global (non-project-specific) $PSModulePath.

@alex-martin-img1
Copy link
Author

I thought I had a suspect after fiddling around with setting a project root, but I can't seem to reproduce the issue with that setting off now, either. I'm thinking this might be nasty to try to repro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant