You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2012/08/02 14:08:02 UTC
[jira] [Resolved] (WICKET-4687) ConcurrentModificationException
with IFeedback instances that contain other IFeedback instances
[ https://issues.apache.org/jira/browse/WICKET-4687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov resolved WICKET-4687.
-------------------------------------
Resolution: Fixed
Fix Version/s: 1.5.8
6.0.0
> ConcurrentModificationException with IFeedback instances that contain other IFeedback instances
> -----------------------------------------------------------------------------------------------
>
> Key: WICKET-4687
> URL: https://issues.apache.org/jira/browse/WICKET-4687
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 6.0.0-beta3
> Reporter: Curtis Crabb
> Assignee: Martin Grigorov
> Labels: ConcurrentModificationException, IFeedback,
> Fix For: 6.0.0, 1.5.8
>
> Attachments: feedbackIssue.zip
>
>
> When an implementation of IFeedback contains a component that dynamically constructs a child instance of IFeedback, a ConcurrentModificationException will occur. This is easily replicated through the use of a FormComponentFeedbackBorder which contains a refreshing repeater (ListView) that constructs a FeedbackPanel.
> Here is the exception:
> java.util.ConcurrentModificationException
> at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
> at java.util.AbstractList$Itr.next(AbstractList.java:343)
> at org.apache.wicket.Component.internalPrepareForRender(Component.java:2212)
> at org.apache.wicket.Page.internalPrepareForRender(Page.java:246)
> at org.apache.wicket.Component.render(Component.java:2281)
> at org.apache.wicket.Page.renderPage(Page.java:1020)
> at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:115)
> at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:237)
> at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
> at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:814)
> at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253)
> at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)
> at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281)
> at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
> at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1332)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
> at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
> at org.eclipse.jetty.server.Server.handle(Server.java:348)
> at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
> at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:884)
> at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:938)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
> at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
> at java.lang.Thread.run(Thread.java:662)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira