Hi Chris,

On Fri, Jan 6, 2017 at 9:49 PM, Christopher Schultz <
ch...@christopherschultz.net> wrote:

> Martin,
>
> On 1/6/17 8:23 AM, Martin Grigorov wrote:
> > I've just upgraded my local/development Tomcat to 8.5.10 and I've hit a
> > problem in Apache Wicket:
> >
> > java.lang.ClassCastException: java.lang.String cannot be cast to
> > java.lang.Class
> > at
> > org.apache.wicket.protocol.http.servlet.ErrorAttributes.
> of(ErrorAttributes.java:152)
> >
> >
> > line 152 is:
> > Class<? extends Throwable> type = (Class<? extends
> > Throwable>)request.getAttribute("javax.servlet.error.exception_type");
> >
> > In a debugger I see that the value is the class name, not the class
> itself.
> >
> > According to
> > http://download.oracle.com/otn-pub/jcp/servlet-3.0-fr-
> eval-oth-JSpec/servlet-3_0-final-spec.pdf,
> > p.10.9.1, table 10-1 the type of the value should be:
> >
> > Request Attributes                      Type
> > javax.servlet.error.status_code java.lang.Integer
> > javax.servlet.error.exception_type java.lang.Class       <<< a Class
> > javax.servlet.error.message java.lang.String
> > javax.servlet.error.exception java.lang.Throwable
> > javax.servlet.error.request_uri java.lang.String
> > javax.servlet.error.servlet_name java.lang.String
> >
> >
> > I didn't see any change related to this between 8.5.8 and 8.5.10 so I'm
> not
> > sure whether this should be a stopper for the release of 8.5.10.
>
> I only see a single instance of javax.servlet.error.exception_type in
> 8.5 trunk (in javax/servlet/RequestDispatcher.ERROR_EXCEPTION_TYPE) and
> a single use of ERROR_EXCEPTION_TYPE itself (in
> o.a.c.core.StandardHostValve) and the code is fairly straightforward:
>
> // line 330:
> request.setAttribute(RequestDispatcher.ERROR_EXCEPTION_TYPE,
>                                   realError.getClass());
>
> The reference "realError" is a java.lang.Throwable, and, presumably,
> realError.getClass will always return a java.lang.Class object.
>
> Can you see where that request attribute is being set in your test? I
> wonder if either Wicket or the application itself is abusing that
> request attribute.
>

Thanks for your answer!
Since Tomcat is not guilty here it must be the middleware! I've found it
easily:
https://github.com/spring-projects/spring-boot/search?utf8=%E2%9C%93&q=ERROR_EXCEPTION_TYPE
I'll log an issue at Spring Boot!



>
> -chris
>
>

Reply via email to