Damned servlet exception in Geronimo - bad stack trace.
-------------------------------------------------------
Key: GERONIMO-3182
URL: https://issues.apache.org/jira/browse/GERONIMO-3182
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Components: web
Affects Versions: 2.0-M6
Reporter: Alexander Zynevich
Attachments: ServletException.jad
I trying to make JSF application working and get error messages like this in
log:
javax.servlet.ServletException: Cannot convert [EMAIL PROTECTED] of type class
$Proxy34 to class com.ibm.demo.managers.UserManagerImpl for bean 'SignonBean'
check the configuration to make sure all properties correspond with get/set
methods
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
com.ibm.democrm.common.AuthorizationFilter.doFilter(AuthorizationFilter.java:70)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
at
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:358)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:543)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
The problem is NOT this exception but in the way it presented.
This exception is wrapping some runtime or app-specific exception into Servlet
exception. But geronimo is bundled with
/org.apache.geronimo.specs/geronimo-servlet_2.5_spec// which has servlet
exception as:
public class ServletException extends Exception
{
public ServletException()
{
}
public ServletException(String message)
{
super(message);
}
public ServletException(String message, Throwable rootCause)
{
super(message);
this.rootCause = rootCause;
}
public ServletException(Throwable rootCause)
{
super(rootCause.getLocalizedMessage());
this.rootCause = rootCause;
}
public Throwable getRootCause()
{
return rootCause;
}
private Throwable rootCause;
}
which of course does not expose class name and stack trace of wrapped exception
(I decompile exactly from
/org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1-SNAPSHOT/)
It makes stack trace absolutely unuseful!
My expectation is that ServletException should be the same as the latest
revision in Tomcat project:
http://svn.apache.org/viewvc?view=rev&revision=467995
where the "rootCause" is hadled as "cause" in wrapping constructor of
java.lang.Execption.
I am going to substitute this class in jar manually, to bypass it.
Of course I understand that this is because of Maven-build-ideology of Geronimo
and real *bug* is in
/org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1-SNAPSHOT/ artifact. On
the othet hand this is very anoying! Could somebody fix centrally?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.