webentwicklung-frage-antwort-db.com.de

org.Eclipse.jetty.io.EofException: Early EOF beim Hochladen einer großen Datei ausgelöst

Während ich eine große Datei (ca. 50 MB) hochlade, erhalte ich org.Eclipse.jetty.io.EofException: Early EOF Ausnahme. Meine Jetty-Server-Version ist " 9.2.9.v20150224 ". Unten ist der Stack-Trace

org.Eclipse.jetty.io.EofException: Early EOF
at org.Eclipse.jetty.server.HttpInput$3.noContent(HttpInput.Java:505) ~[jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
at org.Eclipse.jetty.server.HttpInput.read(HttpInput.Java:124) ~[jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
at org.Apache.http.entity.InputStreamEntity.writeTo(InputStreamEntity.Java:142) ~[httpcore-4.4.1.jar:4.4.1]
at org.Apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.Java:96) ~[httpcore-4.4.1.jar:4.4.1]
at org.Apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.Java:112) ~[httpclient-4.5.jar:4.5]
at org.Apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.Java:117) ~[httpcore-4.4.1.jar:4.4.1]
at org.Apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.Java:265) ~[httpcore-4.4.1.jar:4.4.1]
at org.Apache.http.impl.conn.AbstractClientConnAdapter.sendRequestEntity(AbstractClientConnAdapter.Java:231) ~[httpclient-4.5.jar:4.5]
at org.Apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.Java:237) ~[httpcore-4.4.1.jar:4.4.1]
at org.Apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.Java:122) ~[httpcore-4.4.1.jar:4.4.1]
at org.Apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.Java:685) ~[httpclient-4.5.jar:4.5]
at org.Apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.Java:487) ~[httpclient-4.5.jar:4.5]
at org.Apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.Java:882) ~[httpclient-4.5.jar:4.5]
at org.Apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.Java:117) ~[httpclient-4.5.jar:4.5]
at org.Apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.Java:55) ~[httpclient-4.5.jar:4.5]
at org.Apache.http.client.HttpClient$execute$2.call(Unknown Source) ~[na:na]

org.Eclipse.jetty.io.EofException
at org.Eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.Java:192)
at org.Eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.Java:408)
at org.Eclipse.jetty.io.WriteFlusher.write(WriteFlusher.Java:302)
at org.Eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.Java:129)
at org.Eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.Java:676)
at org.Eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.Java:246)
at org.Eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.Java:208)
at org.Eclipse.jetty.server.HttpConnection.send(HttpConnection.Java:471)
at org.Eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.Java:763)
at org.Eclipse.jetty.server.HttpChannel.write(HttpChannel.Java:801)
at org.Eclipse.jetty.server.HttpOutput.write(HttpOutput.Java:142)
at org.Eclipse.jetty.server.HttpOutput.write(HttpOutput.Java:135)
at org.Eclipse.jetty.server.HttpOutput.flush(HttpOutput.Java:237)
at Java_io_Flushable$flush.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.Java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.Java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.Java:112)
at SendResponseFilter.writeResponse(SendResponse.groovy:128)
at SendResponseFilter$writeResponse.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.Java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.Java:133)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.Java:145)
at SendResponseFilter.writeResponse(SendResponse.groovy:102)
at SendResponseFilter.run(SendResponse.groovy:59)
at com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.Java:112)
at com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.Java:197)
at com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.Java:161)
at com.netflix.zuul.FilterProcessor.postRoute(FilterProcessor.Java:92)
at com.netflix.zuul.ZuulRunner.postRoute(ZuulRunner.Java:87)
at com.netflix.zuul.http.ZuulServlet.postRoute(ZuulServlet.Java:107)
at com.netflix.zuul.http.ZuulServlet.service(ZuulServlet.Java:88)
at realdoc.spider.SpiderServlet.service(SpiderServlet.Java:66)
at org.Eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.Java:808)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1669)
at com.netflix.zuul.context.ContextLifecycleFilter.doFilter(ContextLifecycleFilter.Java:40)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at org.Eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.Java:259)
at org.Eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.Java:222)
at org.Eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.Java:1652)
at org.Eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.Java:585)
at org.Eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.Java:143)
at org.Eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.Java:577)
at org.Eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.Java:223)
at org.Eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.Java:1127)
at org.Eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.Java:515)
at org.Eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.Java:185)
at org.Eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.Java:1061)
at org.Eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.Java:141)
at org.Eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.Java:97)
at org.Eclipse.jetty.server.Server.handle(Server.Java:497)
at org.Eclipse.jetty.server.HttpChannel.handle(HttpChannel.Java:310)
at org.Eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.Java:257)
at org.Eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.Java:540)
at org.Eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.Java:635)
at org.Eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.Java:555)
at Java.lang.Thread.run(Thread.Java:745)
Caused by: Java.io.IOException: Broken pipe
at Sun.nio.ch.FileDispatcherImpl.writev0(Native Method)
at Sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.Java:51)
at Sun.nio.ch.IOUtil.write(IOUtil.Java:148)
at Sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.Java:504)
at org.Eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.Java:172)
... 55 more

Wenn jemand eine Idee zu diesem Thema hat, helfen Sie mir bitte.

13
RIPAN

Diese Stacktraces zeigen nur die Ergebnisse eines Verbindungsabbruchs, nicht jedoch den Grund für den Abbruch.

Java.io.IOException: Broken pipe Bedeutet, dass die Verbindung unerwartet auf Betriebssystemebene beendet wurde.

Das org.Eclipse.jetty.io.EofException Während org.Eclipse.jetty.io.ChannelEndPoint.flush() bedeutet, dass der Inhalt des Antworttextes nicht vollständig in das Netzwerk übertragen werden konnte, als die Verbindung beendet wurde.

Das org.Eclipse.jetty.io.EofException: Early EOF Während org.Eclipse.jetty.server.HttpInput.read() bedeutet, dass während des aktiven Lesens der Anforderung (unklar, ob ihr Inhalt oder ihre Header vom Stacktrace stammen) von der Verbindung (in diesem Fall ein Java.nio.channels.SocketChannel) Vorzeitig beendet, und die vollständige HTTP-Anforderung wurde nicht empfangen (Header und Textinhalt).

Möglicherweise sind in den Protokollen Ihres Clients oder des Servers andere Fehler enthalten, die darauf hinweisen, was gerade läuft.
Sie können diese Anforderung mit anderen Tools (z. B. Curl) testen, um festzustellen, ob es sich um Ihren Client, das Netzwerk oder den Steg handelt. Sie können auch ein Tool wie wireshark verwenden, um den Netzwerkverkehr zu erfassen und zu sehen, woher der Verbindungsabbau stammt (Client oder Server).

31
Joakim Erdfelt

Was ich in der Ausgabe gefunden habe, ist, dass in http-Header "Content-Length" als etwas wie xxx kam, weil schlampiges Internet-WLAN, bevor der gesamte Inhalt gelesen wurde (weniger als xxx), Stream geschlossen wurde und über Ausnahme geworfen wird .

Ein weiteres Problem ist das Problem mit dem Zeitlimit. Bevor der gesamte Stream gelesen wird (als große Datei), wird der Stream wie oben beschrieben vorzeitig geschlossen und eine Ausnahme ausgelöst.

Es kann auch andere Gründe geben, aber ich habe mich diesen Problemen gestellt.

2
RIPAN