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.
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
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:
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.