tern.java
tern.java copied to clipboard
I get a TernException since using Eclipse Neon
This exception do not appear immediately when starting js editing but sometimes.
tern.TernException: Connection reset
at tern.server.DefaultResponseHandler.getData(DefaultResponseHandler.java:54)
at tern.server.protocol.TernResultsProcessorsFactory.makeRequestAndProcess(TernResultsProcessorsFactory.java:46)
at tern.eclipse.ide.internal.core.resources.IDETernServerAsyncReqProcessor.processRequest(IDETernServerAsyncReqProcessor.java:50)
at tern.server.AbstractTernServer.request(AbstractTernServer.java:172)
at tern.resources.TernProject.request(TernProject.java:625)
at tern.resources.TernProject.request(TernProject.java:616)
at tern.eclipse.ide.internal.ui.views.TernOutlineView.loadOutline(TernOutlineView.java:54)
at tern.eclipse.ide.ui.views.RefreshOutlineJob.run(RefreshOutlineJob.java:80)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:220)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:160)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:84)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:273)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:260)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:283)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:251)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:197)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:271)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at tern.server.nodejs.NodejsTernHelper.makeRequest(NodejsTernHelper.java:82)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:238)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:204)
at tern.server.protocol.TernResultsProcessorsFactory.makeRequestAndProcess(TernResultsProcessorsFactory.java:45)
... 7 more
I'm not sure that this issue is just for neon. Please give me more information, I can do nothing with this info.
Thanks!
I have exactly the same issue. Sometimes while editing or after saving Javascript files I get this error message. But I had this issue also in Eclipse mars before upgrading to Neon (not really upgraded, but installed a new fresh copy).
Along with the stacktrace @wolfgang-ch posted, I also see this stacktrace in my environment. What further information do you need?
tern.TernException: Connection reset
at tern.eclipse.ide.internal.core.resources.IDETernFileUploader$1.onError(IDETernFileUploader.java:133)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:207)
at tern.eclipse.ide.internal.core.resources.IDETernFileUploader.run(IDETernFileUploader.java:124)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:160)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:84)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:273)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:260)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:283)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:251)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:197)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:271)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at tern.server.nodejs.NodejsTernHelper.makeRequest(NodejsTernHelper.java:82)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:238)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:204)
... 2 more
And not sure if it helps, but another stacktrace I got sometimes:
tern.TernException: Server has been disposed
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:216)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:204)
at tern.server.protocol.TernResultsProcessorsFactory.makeRequestAndProcess(TernResultsProcessorsFactory.java:45)
at tern.server.SynchronousRequestProcessor.processRequest(SynchronousRequestProcessor.java:36)
at tern.server.AbstractTernServer.request(AbstractTernServer.java:172)
at tern.resources.TernProject.request(TernProject.java:625)
at tern.resources.TernProject.request(TernProject.java:616)
at tern.eclipse.ide.internal.ui.views.TernOutlineView.loadOutline(TernOutlineView.java:54)
at tern.eclipse.ide.ui.views.RefreshOutlineJob.run(RefreshOutlineJob.java:80)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Please share your project.
We have a user that hits the same issue: http://forums.zend.com/viewtopic.php?f=59&t=132628
The only relevant error I find in the log is this one:
!ENTRY tern.eclipse.ide.core 4 0 2017-05-19 08:34:00.951
!MESSAGE Connection reset
!STACK 0
tern.TernException: Connection reset
at tern.eclipse.ide.internal.core.resources.IDETernFileUploader$1.onError(IDETernFileUploader.java:133)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:155)
at tern.eclipse.ide.internal.core.resources.IDETernFileUploader.run(IDETernFileUploader.java:124)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:209)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:160)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:84)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:273)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:260)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:283)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:251)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:197)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:271)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at tern.server.nodejs.NodejsTernHelper.makeRequest(NodejsTernHelper.java:74)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:187)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:151)
... 2 more
Unfortunately, I myself don't reproduce the issue.
Could it be that the tern server process crashes (out of memory?). Is there any log file that can be analyzed? Are there any memory settings that can be tuned?
Whithout having a project which reproduces the problem, it's hard to give an answer. I suspect that there are too many files to load but not sure.
Please note Today, I'm very busy today with https://github.com/angelozerr/typescript.java which provides a better JavaScript/TypeScript editor by using tsserver and TextMate for syntax coloration.