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

[Vue Named Pipe Client] crashes trying to delete pipe from another user #4919

Open
ehoogeveen-medweb opened this issue Oct 11, 2024 · 0 comments

Comments

@ehoogeveen-medweb
Copy link

ehoogeveen-medweb commented Oct 11, 2024

Vue - Official extension or vue-tsc version

v2.1.6

VSCode version

1.9.4

Vue version

3.5.11

TypeScript version

5.6.2

System Info

System:
    OS: Linux 5.14 AlmaLinux 9.4 (Seafoam Ocelot)
    CPU: (4) x64 Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz
    Memory: 15.68 GB / 31.09 GB
    Container: Yes
    Shell: 5.1.8 - /bin/bash
  Binaries:
    Node: 20.18.0 - /home/notes/.nvm/versions/node/v20.18.0/bin/node
    Yarn: 1.22.22 - /home/notes/.nvm/versions/node/v20.18.0/bin/yarn
    npm: 10.9.0 - /home/notes/.nvm/versions/node/v20.18.0/bin/npm
    pnpm: 9.12.1 - /home/notes/.nvm/versions/node/v20.18.0/bin/pnpm

Steps to reproduce

We have multiple developers accessing the same system via a remote connection. When multiple developers use the Vue extension, it appears to create named pipes under /tmp, e.g. /tmp/vue-named-pipe-2.1.6-inferred-1. These pipes are owned by different users and may be active at the same time (as the VSCode server processes stay active even if we disconnect).

What is expected?

No crash.

What is actually happening?

The extension crashes multiple times in a row, trying to delete pipes belonging to other users. Output:

[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-1
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-2
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-2
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-3
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-3
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-4
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-4
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-5
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-6
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-6
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-7
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-7
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-8
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-10
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-10
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-inferred-11
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-13
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-14
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-15
[Vue Named Pipe Client] Deleting: /tmp/vue-named-pipe-2.1.6-configured-16
node:internal/fs/promises:1075
  return await PromisePrototypeThen(
         ^

Error: EPERM: operation not permitted, unlink '/tmp/vue-named-pipe-2.1.6-inferred-1'
    at async Object.unlink (node:internal/fs/promises:1075:10) {
  errno: -1,
  code: 'EPERM',
  syscall: 'unlink',
  path: '/tmp/vue-named-pipe-2.1.6-inferred-1'
}

In this case, /tmp/vue-named-pipe-2.1.6-inferred-1 is owned by one of my colleagues.

Link to minimal reproduction

No response

Any additional comments?

I'm not sure when this started happening, as I've been on holiday and haven't touched our Vue code in a while, but I think it's a recent regression.

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

No branches or pull requests

1 participant