vscode-java
vscode-java copied to clipboard
stream error while trying to build [email protected]
Getting Cannot call write after a stream was destroyed error while trying to use [email protected] which I built locally
Environment
- Operating System: macOS Catalina
- JDK version: java version "1.8.0_281" and Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
- Visual Studio Code version: 1.69
- Java extension version: 1.7.0
Steps To Reproduce
I have built [email protected] locally by following the instructions here: https://github.com/redhat-developer/vscode-java/blob/v1.7.0/CONTRIBUTING.md
- For Client side setup, cloned the vscode-java and checked out to v1.7.0 and then ran
npm install - For Server side setup, just download the latest snapshot by running the command
./node_modules/.bin/gulp download_server - Then ran
vsce packagewhich generated a .vsix file - Trying to launch the built extension which results with the following error:
Current Result
plugins/redhat-java-features/extension/dist/extension.js:2:1044055 root ERROR [hosted-plugin: 15563] Promise rejection not handled in one second: Error: write EPIPE , reason: Error: write EPIPE With stack trace: Error: write EPIPE at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:94:16) root ERROR [hosted-plugin: 15563] Promise rejection not handled in one second: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed , reason: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed root ERROR [hosted-plugin: 15563] With stack trace: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed at doWrite (_stream_writable.js:399:19) at writeOrBuffer (_stream_writable.js:387:5) at Socket.Writable.write (_stream_writable.js:318:11)
In addition, the extension keeps on loading without showing any syntax errors.
How to resolve this issue ? Please point me if I am building it incorrectly ?
Do you have JDK 17 installed on your machine and set it as JAVA_HOME env variable?
I am using Java 8
It requires JDK 17 to launch the Language Server now. Could you try the step 5 of https://github.com/redhat-developer/vscode-java/blob/v1.7.0/CONTRIBUTING.md#a-client-side-setup. Or Download JDK 17 by yourself?
@jdneo
You wrote that it requires JDK 17 to launch the Language Server now. However, with only Java 11 install on my local machine, I was able to host Theia running version 1.7.0 of the plugin (downloaded from the releases section). In fact, it seemed 1.7.0 requires 11 and 1.8.0 requires Java 17. (it complains about this in Theia if the version isn't high enough).
However, now for whatever reason I am getting this exact error with 1.7.0 after attempting to build my own. When I go back to the 1.7.0 downloaded from your website it also gives the above error now. I don't know how to fix it.
@Qichar You need download the vsix with the platform name as its postfix. Like: [email protected] which self-contained a jre17 in the vsix file.
@jdneo
Thank you for the reply. I tried downloading the platform specific version of 1.7.0 for Darwin Arm64 (which I think matches my Macbook Pro m1 processor). No good, same error. I tried upgrading the version of java on my machine (JDK) to java 17, and confirmed that it was runing the correct version. Still no good. Error is still as follows when I try to open a .jAVA file in Theia with the extension loaded. The extension can be seen in the list of plugins but the following error is shown in the console:
2022-07-19T17:49:22.374Z root ERROR [hosted-plugin: 39100] Promise rejection not handled in one second: Error: write EPIPE , reason: Error: write EPIPE
2022-07-19T17:49:22.375Z root ERROR [hosted-plugin: 39100] With stack trace: Error: write EPIPE
at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:94:16)
Promise rejection not handled in one second: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed , reason: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
With stack trace: Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:399:19)
at writeOrBuffer (_stream_writable.js:387:5)
at Socket.Writable.write (_stream_writable.js:318:11)
at /Users/komchang/WorkDir/AlternateProjects/cloud-shell-editor/browser-app/plugins/redhat-java-features/extension/dist/extension.js:2:1054691
at new Promise (