I'm pretty sure resin is borking the Java file generation of my tag. I've 
written a bug with all my notes about how the cast can't work as is:

http://bugs.caucho.com/bug_view_advanced_page.php?bug_id=3956


On Mar 19, 2010, at 18:32:30, Rick Mann wrote:

> ARghh. If it's not one thing, it's another. I'm finally 99% in place with 
> resin-4.0.4, and suddenly I notice this stack trace, for a JSP tag defines 
> like this:
> 
> <%...@tag body-content="empty"
> %><%...@attribute name="value" required="true" rtexprvalue="true" 
> type="java.lang.Long" description="Duration value in seconds"
> %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core";
> %><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt";
> %><%
>       long interval = (Long) pageContext.getAttribute("value");
>       boolean neg = interval < 0;
>       interval = Math.abs(interval);
>       
>       long hours = interval / 3600;
>       interval -= hours * 3600;
>       
>       long minutes = interval / 60;
>       interval -= minutes * 60;
>       
>       long seconds = interval;
>       
>       hours = Math.abs(hours);
>       minutes = Math.abs(minutes);
>       seconds = Math.abs(seconds);
>       
>       pageContext.setAttribute("neg", neg);
>       pageContext.setAttribute("hours", hours);
>       pageContext.setAttribute("minutes", minutes);
>       pageContext.setAttribute("seconds", seconds);
> %><c:if test="${neg}">-</c:if><c:if test="${!neg}">+</c:if><fmt:formatNumber 
> value="${hours}" pattern="00"/>:<fmt:formatNumber value="${minutes}" 
> pattern="00"/>:<fmt:formatNumber value="${seconds}" pattern="00"/>
> 
> 
> 
> 
> trace:
> 
> 
> 
> [show]
> java.lang.ClassCastException: _jsp._WEB_22dINF._tags._lz._durT__tag cannot
> be cast to javax.servlet.jsp.tagext.Tag
> 
> 
> javax.servlet.ServletException: javax.servlet.ServletException: 
> com.caucho.jsp.QJspException:
> java.lang.ClassCastException: _jsp._WEB_22dINF._tags._lz._durT__tag cannot
> be cast to javax.servlet.jsp.tagext.Tag
>       at 
> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
>       at 
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
>       at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:119)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
>       at 
> com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
>       at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>       at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:215)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:183)
>       at 
> com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:103)
>       at 
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
>       at 
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:780)
>       at 
> com.caucho.server.connection.TcpConnection.dispatchRequest(TcpConnection.java:600)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequestsImpl(TcpConnection.java:566)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequests(TcpConnection.java:519)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.doTask(TcpConnection.java:1100)
>       at 
> com.caucho.server.connection.TcpConnection$ConnectionReadTask.runThread(TcpConnection.java:1037)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.run(TcpConnection.java:1068)
>       at com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:901)
>       at com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:866)
> Caused by: javax.servlet.ServletException: com.caucho.jsp.QJspException:
> java.lang.ClassCastException: _jsp._WEB_22dINF._tags._lz._durT__tag cannot
> be cast to javax.servlet.jsp.tagext.Tag
>       at 
> com.caucho.jsp.PageContextImpl.handlePageException(PageContextImpl.java:1255)
>       at 
> _jsp._WEB_22dINF._jsp._mission__jsp._jspService(_mission__jsp.java:30)
>       at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
>       at com.caucho.jsp.Page.pageservice(Page.java:535)
>       at 
> com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:195)
>       at 
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
>       at 
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:283)
>       at 
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:121)
>       at 
> org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
>       at 
> org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
>       at 
> org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
>       at 
> org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
>       at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>       at 
> org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
>       at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>       at 
> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
>       at 
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
>       at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:119)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
>       at 
> com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
>       at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>       at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:215)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:183)
>       at 
> com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:103)
>       at 
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
>       at 
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:780)
>       at 
> com.caucho.server.connection.TcpConnection.dispatchRequest(TcpConnection.java:600)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequestsImpl(TcpConnection.java:566)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequests(TcpConnection.java:519)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.doTask(TcpConnection.java:1100)
>       at 
> com.caucho.server.connection.TcpConnection$ConnectionReadTask.runThread(TcpConnection.java:1037)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.run(TcpConnection.java:1068)
>       at com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:901)
>       at com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:866)
> Caused by: com.caucho.jsp.QJspException: java.lang.ClassCastException:
> _jsp._WEB_22dINF._tags._lz._durT__tag cannot be cast to 
> javax.servlet.jsp.tagext.Tag
>       at 
> com.caucho.jsp.QJspException.createJspException(QJspException.java:74)
>       at _jsp._WEB_22dINF._tags._lz._durT__tag.doTag(_durT__tag.java:39)
>       at 
> _jsp._WEB_22dINF._jsp._mission__jsp._jspService(WEB-INF/jsp/mission.jsp:140)
>       at 
> _jsp._WEB_22dINF._jsp._mission__jsp._jspService(_mission__jsp.java:28)
>       at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
>       at com.caucho.jsp.Page.pageservice(Page.java:535)
>       at 
> com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:195)
>       at 
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
>       at 
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:283)
>       at 
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:121)
>       at 
> org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
>       at 
> org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
>       at 
> org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
>       at 
> org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
>       at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>       at 
> org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
>       at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>       at 
> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
>       at 
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
>       at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:119)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
>       at 
> com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
>       at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>       at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:215)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:183)
>       at 
> com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:103)
>       at 
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
>       at 
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:780)
>       at 
> com.caucho.server.connection.TcpConnection.dispatchRequest(TcpConnection.java:600)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequestsImpl(TcpConnection.java:566)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequests(TcpConnection.java:519)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.doTask(TcpConnection.java:1100)
>       at 
> com.caucho.server.connection.TcpConnection$ConnectionReadTask.runThread(TcpConnection.java:1037)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.run(TcpConnection.java:1068)
>       at com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:901)
>       at com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:866)
> Caused by: java.lang.ClassCastException: _jsp._WEB_22dINF._tags._lz._durT__tag
> cannot be cast to javax.servlet.jsp.tagext.Tag
>       at 
> _jsp._WEB_22dINF._tags._lz._durT__tag$TagState.get_jsp_FormatNumberTag_0(_durT__tag.java:213)
>       at _jsp._WEB_22dINF._tags._lz._durT__tag.doTag(_durT__tag.java:90)
>       at _jsp._WEB_22dINF._tags._lz._durT__tag.doTag(_durT__tag.java:35)
>       at 
> _jsp._WEB_22dINF._jsp._mission__jsp._jspService(WEB-INF/jsp/mission.jsp:140)
>       at 
> _jsp._WEB_22dINF._jsp._mission__jsp._jspService(_mission__jsp.java:28)
>       at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
>       at com.caucho.jsp.Page.pageservice(Page.java:535)
>       at 
> com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:195)
>       at 
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
>       at 
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:283)
>       at 
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:121)
>       at 
> org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
>       at 
> org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
>       at 
> org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
>       at 
> org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
>       at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>       at 
> org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
>       at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>       at 
> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
>       at 
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
>       at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:119)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
>       at 
> com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
>       at com.latencyzero.satdb.RequestFilter.doFilter(RequestFilter.java:124)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>       at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.latencyzero.satdb.SecurityFilter.doFilter(SecurityFilter.java:215)
>       at 
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
>       at 
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:183)
>       at 
> com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:103)
>       at 
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
>       at 
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:780)
>       at 
> com.caucho.server.connection.TcpConnection.dispatchRequest(TcpConnection.java:600)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequestsImpl(TcpConnection.java:566)
>       at 
> com.caucho.server.connection.TcpConnection.handleRequests(TcpConnection.java:519)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.doTask(TcpConnection.java:1100)
>       at 
> com.caucho.server.connection.TcpConnection$ConnectionReadTask.runThread(TcpConnection.java:1037)
>       at 
> com.caucho.server.connection.TcpConnection$AcceptTask.run(TcpConnection.java:1068)
>       at com.caucho.util.ThreadPool$PoolThread.runTasks(ThreadPool.java:901)
>       at com.caucho.util.ThreadPool$PoolThread.run(ThreadPool.java:866)
> 
> 
> 
> 
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest



_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to