PullRequestQuantifier icon indicating copy to clipboard operation
PullRequestQuantifier copied to clipboard

Possible recursion/memory issue crashes OS

Open qayshp opened this issue 4 years ago • 3 comments

I really don't know what other data to provide, so please let me know what would be helpful.

Environment details: macOS 11.5.2, vscode 1.61.0
``` Version: 1.61.0 Commit: ee8c7def80afc00dd6e593ef12f37756d8f504ea Date: 2021-10-07T18:11:58.853Z Electron: 13.5.1 Chrome: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0 ```

Created a new c# solution and project from the terminal in vscode, then opened that project and closed the original window. A few edits and minutes later, my computer reported being low on memory but I didn't have time to quit anything before it all froze. I had 10 jetsamevent 298, system memory critical, logs over the course of 2 minutes, and all of them show:

  "largestProcess" : "PullRequestQuantifier.VsCode.Cli",

with three corresponding records in the list of processes, which are also the three largest by far when the json is sorted:

      "name": "PullRequestQuantifier.VsCode.Cli"
      "lifetimeMax": 16263673
      "lifetimeMax": 14144970
      "lifetimeMax": 2330702
      "name": "REDACTED"
      "lifetimeMax": 319721
....

{"bug_type":"298","timestamp":"2021-10-11 11:07:09.23 -0700","os_version":"macOS 11.5.2 (20G95)","incident_id":"REDACTED"}
{
  "crashReporterKey": "REDACTED",
  "kernel": "Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64",
  "product": "MacBookPro16,1",
  "incident": "REDACTED",
  "build": "macOS 11.5.2 (20G95)",
  "date": "2021-10-11 11:07:09.20 -0700",
  "timeDelta": 4,
  "memoryStatus": {
    "compressorSize": 2293517,
    "compressions": 91106891,
    "decompressions": 27273941,
    "zoneMapCap": 6442450944,
    "largestZone": "data.kalloc.2048",
    "largestZoneSize": 322801664,
    "pageSize": 4096,
    "uncompressed": 33642290,
    "zoneMapSize": 1383854080,
    "memoryPages": {
      "active": 527459,
      "throttled": 0,
      "fileBacked": 87792,
      "wired": 844895,
      "anonymous": 965837,
      "purgeable": 0,
      "inactive": 494108,
      "free": 32841,
      "speculative": 32062
    }
  },
  "largestProcess": "PullRequestQuantifier.VsCode.Cli",
  "genCounter": 1,
  "processes": [
    {
      "uuid": "9ce1aee5-5da2-317f-a8e9-fb3514705103",
      "states": [],
      "age": 167849369562,
      "purgeable": 0,
      "fds": 200,
      "coalition": 15739,
      "rpages": 16263673,
      "priority": 18,
      "physicalPages": {
        "internal": [
          217,
          16263456
        ]
      },
      "pid": 3526,
      "cpuTime": 78.956257,
      "name": "PullRequestQuantifier.VsCode.Cli",
      "lifetimeMax": 16263673
    },
    {
      "uuid": "9ce1aee5-5da2-317f-a8e9-fb3514705103",
      "states": [],
      "age": 158485953368,
      "purgeable": 0,
      "fds": 200,
      "coalition": 15739,
      "rpages": 14144970,
      "priority": 18,
      "physicalPages": {
        "internal": [
          208,
          14144762
        ]
      },
      "pid": 4114,
      "cpuTime": 70.34071,
      "name": "PullRequestQuantifier.VsCode.Cli",
      "lifetimeMax": 14144970
    },
    {
      "uuid": "9ce1aee5-5da2-317f-a8e9-fb3514705103",
      "states": [],
      "age": 81600459582,
      "purgeable": 0,
      "fds": 200,
      "coalition": 15739,
      "rpages": 2330702,
      "priority": 18,
      "physicalPages": {
        "internal": [
          154144,
          2176558
        ]
      },
      "pid": 7158,
      "cpuTime": 11.358675999999999,
      "name": "PullRequestQuantifier.VsCode.Cli",
      "lifetimeMax": 2330702
    },
    {
      "uuid": "d452390a-f0a3-3ef0-a182-b092580e9f08",
      "states": [],
      "age": 74500371822796,
      "purgeable": 0,
      "fds": 800,
      "coalition": 256,
      "rpages": 315956,
      "priority": 3,
      "physicalPages": {
        "internal": [
          16945,
          299085
        ]
      },
      "pid": 289,
      "cpuTime": 12792.165035,
      "name": "REDACTED",
      "lifetimeMax": 319721
    },
....
]

qayshp avatar Oct 11 '21 19:10 qayshp

Confirmed (unfortunately) that in my environment, I can repro this. Within a minute of saving a .cs (C#) file, the memory footprint ballooned to over 30 GB.

Not sure what other data to gather, but I have a Sample from Activity Monitor of the runaway process. I also have exthost.logs and [\d]+-CodeStream (Agent).logs that may contain more personal data.

Seeing the CodeStream name, I'm wondering if I should take this to a different project. Please let me know if this is the wrong place.

qayshp avatar Oct 12 '21 17:10 qayshp

I disabled the CodeStream extension and still see this behavior.

qayshp avatar Oct 12 '21 17:10 qayshp

Thanks for reporting this, feel free to contribute to the vscode extension (code path https://github.com/microsoft/PullRequestQuantifier/tree/main/src/Clients/PullRequestQuantifier.VsCode.Client).Will review the code and update the marketplace.

DragosDanielBoia avatar Oct 15 '21 08:10 DragosDanielBoia