Open surajnarwade opened 6 years ago
I think this may be related to https://github.com/redhat-developer/rh-che/issues/188 where node isn't being downloaded and thus starting the language server fails. I'm looking into this.
@surajnarwade @JPinkney it must be the case when an installer actually tries to install deps that a language server requires.
@surajnarwade what stack did you start your workspace from? https://github.com/eclipse/che/blob/5.22.x/agents/ls-yaml/src/main/resources/org.eclipse.che.ls.yaml.script.sh you can see that if the package isn't installed, the installer script tries to install it, which expectedly fails on OpenShift.
@eivantsov , I created vertx
application first and then I created app.yaml
Yeah, most certainly vertx image does not have node.js
@eivantsov so the Che container image should have the required dependencies installed, right?
Currently, yes, this is a requirement
hey @eivantsov @JPinkney any updates on this?
@eivantsov afaik, all osio recipes have node.js pre-installed (Bayesian requirment) [1]
[1] https://github.com/redhat-developer/che-dockerfiles/blob/master/recipes/vertx/Dockerfile#L30
@ibuziuk I do not see any information about the stack being used. I can see a dashboard screenshot, and going to dashboard isn't part of OSIO flow. So, maybe it was some other stack?
This is still failing on che.openshift.io (che 6.10.0).
I've used vert.x
stack and enabled yaml ls. Opening yaml file produces this error:
2018-08-31 12:25:25,941[equestProcessor] [ERROR] [.e.c.a.l.LanguageServerService 109] - Language server initialization procedure failed
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.io.IOException: Stream closed
at org.eclipse.che.api.languageserver.LanguageServerService.initialize(LanguageServerService.java:101)
at org.eclipse.che.api.core.jsonrpc.commons.reception.FunctionConfiguratorOneToOne.lambda$withFunction$0(FunctionConfiguratorOneToOne.java:76)
at org.eclipse.che.api.core.jsonrpc.commons.RequestHandlerManager.handle(RequestHandlerManager.java:213)
at org.eclipse.che.api.core.jsonrpc.commons.RequestHandlerManager$OneToOneHandler.handle(RequestHandlerManager.java:329)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at org.eclipse.che.api.core.jsonrpc.commons.RequestHandlerManager$OneToOneHandler.access$1000(RequestHandlerManager.java:316)
at org.eclipse.che.api.core.jsonrpc.commons.RequestDispatcher.dispatch(RequestDispatcher.java:52)
at java.lang.Thread.run(Thread.java:748)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Caused by: java.lang.RuntimeException: java.io.IOException: Stream closed
at org.eclipse.che.api.core.jsonrpc.commons.JsonRpcMessageReceiver.lambda$receive$0(JsonRpcMessageReceiver.java:73)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at org.eclipse.lsp4j.jsonrpc.services.EndpointProxy.invoke(EndpointProxy.java:77)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageConsumer.consume(StreamMessageConsumer.java:68)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at org.eclipse.che.api.core.jsonrpc.commons.JsonRpcMessageReceiver.processRequest(JsonRpcMessageReceiver.java:98)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.request(RemoteEndpoint.java:129)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at com.sun.proxy.$Proxy100.initialize(Unknown Source)
at org.eclipse.che.api.languageserver.LanguageServerInitializer.lambda$initialize$1(LanguageServerInitializer.java:127)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at org.eclipse.che.api.languageserver.LanguageServerInitializer.initializeServerInstance(LanguageServerInitializer.java:211)
at org.eclipse.che.api.languageserver.LanguageServerInitializer.lambda$null$0(LanguageServerInitializer.java:123)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
Caused by: java.io.IOException: Stream closed
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
... 3 common frames omitted
at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433)
at org.eclipse.lsp4j.jsonrpc.json.StreamMessageConsumer.consume(StreamMessageConsumer.java:65)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
... 22 common frames omitted
at java.io.OutputStream.write(OutputStream.java:116)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
@rhopp Out of curiosity can you try vert.x stack again but do the same thing with json ls and a json file
@rhopp interesting.. we have tests for yaml LS and most of them pass - currently only one unstable which checks hovers.
@JPinkney @rhopp i know what the issue is. There's no nodejs in the image
sh-4.2$ node -v
v6.14.4
sh-4.2$ nodejs
sh: nodejs: command not found
You we need a symlink in the image - an alias for nodejs > node
app.yaml
file and waited for YAML language server to intialize,CC: @containscafeine @JPinkney
This is a blocker for kedge integration with OSIO :(