[ https://issues.apache.org/jira/browse/GERONIMO-3182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Zynevich updated GERONIMO-3182: ----------------------------------------- Attachment: fix-for-GERONIMO-GERONIMO-3182.patch I think it would be OK to apply this patch. > 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: fix-for-GERONIMO-GERONIMO-3182.patch, > geronimo-servlet_2.5_fix.zip, 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.