getappmap / getappmap/appmap-js

apply button fails

Open
#1,947 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

I tried to use the Apply button, with v0.127.0 of the extension installed and v3.158.1 of appmap.

After a couple of tries, I persuaded Navie that the path to the file I wanted to update waslib/tasks/fixture.rake. When I hit the button, I got a red X, and the error

98124 [Stderr] [file-update] Failed to write file lib/tasks/fixture.rake: ENOENT: no such file or directory, mkdir 'lib'

in the log.
The working directory for both the RPC service and the Code Helper that spawned it is /:

ajp@Alans-MacBook-Pro appmap-python % pstree -p 98124
-+= 00001 root /sbin/launchd
 \-+= 15240 ajp /Applications/Visual Studio Code.app/Contents/MacOS/Electron
   \-+- 97715 ajp /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --type=utility
     \--- 98124 ajp /Users/ajp/.appmap/bin/appmap rpc --port 0

ajp@Alans-MacBook-Pro appmap-python % lsof -Pn -p 98124 | head
COMMAND     PID USER   FD      TYPE             DEVICE  SIZE/OFF      NODE NAME
appmap-v3 98124  ajp  cwd       DIR                1,9       640         2 /
appmap-v3 98124  ajp  txt       REG                1,9 170662960 348291763 /Users/ajp/.appmap/lib/appmap/appmap-v3.158.1

ajp@Alans-MacBook-Pro appmap-python % lsof -Pn -p 97715 | head
COMMAND     PID USER   FD      TYPE             DEVICE  SIZE/OFF                NODE NAME
Code\x20H 97715  ajp  cwd       DIR                1,9       640                   2 /
Code\x20H 97715  ajp  txt       REG                1,9    116672           348166546 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)

which seems like a case that's going to be common.
When I asked Navie to use the absolute path to the file, the Apply button worked just as I hoped it would.

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 by tracing the Apply button's file-update path through the RPC service and Code Helper, using the reported relative path lib/tasks/fixture.rake and working directory /. Reproduce the failure with a relative path, then verify that Apply writes the project file successfully when the process starts in /.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.