You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/12/16 14:49:14 UTC

[jira] [Commented] (WICKET-5776) Add information about the component when it fail in detach phase

    [ https://issues.apache.org/jira/browse/WICKET-5776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14248261#comment-14248261 ] 

ASF subversion and git services commented on WICKET-5776:
---------------------------------------------------------

Commit 39b65ecf1ce4a3904227a9dbdec9f8ca874f8a7e in wicket's branch refs/heads/wicket-6.x from [~mgrigorov]
[ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=39b65ec ]

WICKET-5776 Add information about the component when it fail in detach phase

try/catch the application related logic in Component#detach()


> Add information about the component when it fail in detach phase
> ----------------------------------------------------------------
>
>                 Key: WICKET-5776
>                 URL: https://issues.apache.org/jira/browse/WICKET-5776
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 6.18.0
>            Reporter: Anton Kurniawan
>            Assignee: Martin Grigorov
>            Priority: Minor
>             Fix For: 7.0.0-M5, 6.19.0
>
>
> I got error like this:
> {code}
> org.apache.wicket.request.RequestHandlerStack : Error detaching RequestHandler
> java.lang.ClassCastException: id.co.bippo.product.impl.VariedProductImpl cannot be cast to java.util.List
> 	at org.soluvas.web.site.EmfListModel.onDetach(EmfListModel.java:60) ~[classes/:na]
> 	at org.apache.wicket.model.LoadableDetachableModel.detach(LoadableDetachableModel.java:99) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detachModel(Component.java:3585) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detachModels(Component.java:1242) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1172) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.MarkupContainer.detachChildren(MarkupContainer.java:1609) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1179) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.MarkupContainer.detachChildren(MarkupContainer.java:1609) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1179) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.MarkupContainer.detachChildren(MarkupContainer.java:1609) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1179) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.MarkupContainer.detachChildren(MarkupContainer.java:1609) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1179) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.MarkupContainer.detachChildren(MarkupContainer.java:1609) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1179) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.MarkupContainer.detachChildren(MarkupContainer.java:1609) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1179) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.MarkupContainer.detachChildren(MarkupContainer.java:1609) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.Component.detach(Component.java:1179) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.core.request.handler.PageProvider.detach(PageProvider.java:327) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.core.request.handler.RenderPageRequestHandler.detach(RenderPageRequestHandler.java:156) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:873) ~[wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180) ~[wicket-request-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:636) [wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:589) [wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293) [wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) [wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) [wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) [wicket-core-6.18.0.jar:6.18.0]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42]
> 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-7.0.56.jar:7.0.56]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42]
> 	at org.soluvas.web.site.servlet.ShiroPrincipalsServletFilter.doFilter(ShiroPrincipalsServletFilter.java:59) [classes/:na]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42]
> 	at org.soluvas.web.site.servlet.MoreMdcServletFilter.doFilter(MoreMdcServletFilter.java:62) [classes/:na]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42]
> 	at ch.qos.logback.classic.helpers.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:51) [logback-classic-1.0.13.jar:na]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42]
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.3.jar:1.2.3]
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.3.jar:1.2.3]
> 	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.3.jar:1.2.3]
> 	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.3.jar:1.2.3]
> 	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) [shiro-core-1.2.3.jar:1.2.3]
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.3.jar:1.2.3]
> 	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.3.jar:1.2.3]
> 	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
> 	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.2.RELEASE.jar:4.1.2.RELEASE]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42]
> 	at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:104) [metrics-servlet-3.1.0.jar:3.1.0]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:123) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java) [catalina.jar:7.0.42]
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:171) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java) [catalina.jar:7.0.42]
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) [catalina.jar:7.0.42]
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) [catalina.jar:7.0.42]
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.42]
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.42]
> 	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) [tomcat-coyote.jar:7.0.42]
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) [tomcat-coyote.jar:7.0.42]
> 	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) [tomcat-coyote.jar:7.0.42]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_05]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_05]
> 	at java.lang.Thread.run(Thread.java:745) [na:na]
> {code}
> It's possible to debug this error and in this case there's nothing wrong in Wicket. However, Wicket can help making the debugging much easier by wrapping the Exception and mentioning the component's path, which will allow us to pointpoint the problematic model rather quickly.
> In a page with tens or hundreds of (nested) components, without this info it will take some time.
> I'm pretty sure you'll approve this request. Thank you Wicket :) Thank you [~mgrigorov] :)
> Tag [~ceefour]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)