[ https://issues.apache.org/jira/browse/WICKET-2894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12872290#action_12872290 ]
Igor Vaynberg commented on WICKET-2894: --------------------------------------- yes, that part of code has not yet been implemented, this is why no M1 release has been made yet. > page rendering is missing synchronization and eventually gets caught by a > race condition (or whatever?!) > -------------------------------------------------------------------------------------------------------- > > Key: WICKET-2894 > URL: https://issues.apache.org/jira/browse/WICKET-2894 > Project: Wicket > Issue Type: Task > Components: wicket > Environment: wicket-1.5-trunk, os x 10.6.3, java 1.6.0._20 (64 bit > server), safari 4 (same for firefox 3) > Reporter: Peter Ertl > > wicket seems to lack some thread synchronization during page render: > I do this... > $ cd wicket-1.5-trunk > $ svn up > $ cd wicket-examples > $ mvn jetty:run > type > http://localhost:8080/wicket-examples > into the browser and navigate to any page (preferrably one that takes a long > time to render). > Then I keep hitting [reload] very(!) fast (or just hold the reload-shortcut > on the keyboard) and after a while get this exception: > ERROR - RequestCycle - Error during processing error message > java.lang.IllegalStateException: Header was already written to response! > at > org.apache.wicket.protocol.http.HeaderBufferingWebResponse.checkHeader(HeaderBufferingWebResponse.java:62) > at > org.apache.wicket.protocol.http.HeaderBufferingWebResponse.sendRedirect(HeaderBufferingWebResponse.java:110) > at > org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:148) > at > org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:246) > at > org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:147) > at > org.apache.wicket.request.RequestHandlerStack.executeRequestHandler(RequestHandlerStack.java:86) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:269) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:278) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:225) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:251) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:174) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:209) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) > at > org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) > at > org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:915) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) > at > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) > > to me this seems to be a missing or broken synchronization feature. > > if you are "lucky" (in order to reproduce the issue) the screen will be > empty.... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.