Index: java/org/apache/catalina/core/StandardWrapperValve.java =================================================================== --- java/org/apache/catalina/core/StandardWrapperValve.java (revision 1464693) +++ java/org/apache/catalina/core/StandardWrapperValve.java (working copy) @@ -259,9 +259,9 @@ Throwable rootCause = StandardWrapper.getRootCause(e); if (!(rootCause instanceof ClientAbortException)) { container.getLogger().error(sm.getString( - "standardWrapper.serviceExceptionRoot", + "standardWrapper.serviceException", wrapper.getName(), context.getName(), e.getMessage()), - rootCause); + e); } throwable = e; exception(request, response, e); Index: java/org/apache/jasper/compiler/ErrorDispatcher.java =================================================================== --- java/org/apache/jasper/compiler/ErrorDispatcher.java (revision 1464693) +++ java/org/apache/jasper/compiler/ErrorDispatcher.java (working copy) @@ -266,6 +266,10 @@ dispatch(null, null, null, e); } + public void jspError(Mark where, Exception e) throws JasperException { + dispatch(where, null, null, e); + } + /* * Dispatches the given JSP parse error to the configured error handler. * Index: java/org/apache/jasper/compiler/JspDocumentParser.java =================================================================== --- java/org/apache/jasper/compiler/JspDocumentParser.java (revision 1464781) +++ java/org/apache/jasper/compiler/JspDocumentParser.java (working copy) @@ -205,7 +205,7 @@ jspDocParser.err.jspError (new Mark(jspDocParser.ctxt, path, e.getLineNumber(), e.getColumnNumber()), - e.getMessage()); + e); } catch (Exception e) { jspDocParser.err.jspError(e); }