diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java index b2efc08d1fe..ad47630d187 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java @@ -793,9 +793,16 @@ public class HttpInput extends ServletInputStream implements Runnable synchronized (_inputQ) { if (_state instanceof ErrorState) - LOG.warn(x); + { + Throwable failure = new Throwable(_state.getError()); + failure.addSuppressed(new Throwable(x)); + LOG.warn(failure); + } else - _state = new ErrorState(x); + { + // Retain the current stack trace by wrapping the failure. + _state = new ErrorState(new Throwable(x)); + } if (_listener == null) _inputQ.notify();