getappmap / getappmap/appmap-js

`Error fingerprinting ... EPERM: operation not permitted, rename` followed by OOM

Open
#930 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
53
Forks
18
Avg merge
3d 18h
Merged PRs (30d)
8

Description

Getting an Error fingerprinting ... EPERM: operation not permitted, rename followed by an OOM

Slack
log

Error: C:\Users\TEST\AppData\Local\Programs\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\TEST\AppData\Roaming\Code\User\globalStorage\appland.appmap\node_modules\@appland\appmap\built\cli.js index --watch --appmap-dir tmp/appmap exited with code 134
at ChildProcess.<anonymous> (\out\extension.js:39223:36)
at Object.onceWrapper (node:events:646:26)
at ChildProcess.emit (node:events:538:35)
at ChildProcess._handle.onexit (node:internal/child_process:291:12)
appmap.debug.log
Stderr: Error fingerprinting tmp\appmap\requests\1672977253_7167559_http_127_0_0_1_3000_api_v1_surveys_report_1_year_2022.appmap.json: Error: EPERM: operation not permitted, rename 'd:\PROJECT\project\PRO\tmp\appmap\requests\1672977253_7167559_http_127_0_0_1_3000_api_v1_surveys_report_1_year_2022\appmap.tmp' -> 'd:\\PROJECT\project\PRO\tmp\appmap\requests\1672977253_7167559_http_127_0_0_1_3000_api_v1_surveys_report_1_year_2022.appmap.json'
...

Stderr:
<--- Last few GCs --->

[12220:00002934002F0000] 15777682 ms: Mark-sweep 1988.2 (2069.9) -> 1981.9 (2071.4) MB, 1347.6 / 0.0 ms (average mu = 0.217, current mu = 0.025) allocation failure; scavenge might not succeed
[12220:00002934002F0000] 15779664 ms: Mark-sweep 1989.7 (2071.4) -> 1983.3 (2072.9) MB, 1934.0 / 0.0 ms (average mu = 0.113, current mu = 0.024) allocation failure; scavenge might not succeed


<--- JS stacktrace --->


Stderr: FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

Stderr: 1: 00007FF728B72EE6 node::Buffer::New+50054
2: 00007FF728B730EF node::OnFatalError+463
3: 00007FF72B49B5DA v8::Data::IsFixedArray+1002
4: 00007FF72B49B4F6 v8::Data::IsFixedArray+774
5: 00007FF72B549663 v8::CppHeap::CollectGarbageInYoungGenerationForTesting+55299
6: 00007FF727AC9D64 v8::CppHeap::GetAllocationHandle+77636
7: 00007FF72A1A2B7C v8::CppHeap::GetHeapHandle+69292
8: 00007FF72A1943B8 v8::CppHeap::GetHeapHandle+9960
9: 00007FF72A07C47B uv_random+5708539
10: 00007FF72A3270A0 v8::internal::OSROptimizedCodeCache::OsrOffsetsFor+66480
11: 00007FF72A3CEC93 v8::internal::OSROptimizedCodeCache::OsrOffsetsFor+753571
12: 00007FF6AFECC93C

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the index --watch invocation in built/cli.js and the child-process handling shown in out/extension.js. Reproduce the Windows EPERM rename followed by the Node heap exhaustion using the linked log, then trace how fingerprinting and watch-mode errors propagate. Done means the reported failure no longer leads to the observed process exit and OOM.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript, vscode
Domain
cli, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.