Issue Details (XML | Word | Printable)

Key: ICE-5297
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Mircea Toma
Reporter: Deryk Sinotte
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ICEfaces

WindowScopeManager throws RuntimeException due to "Unknown window scope ID"

Created: 21/Jan/10 12:18 PM   Updated: 03/Jan/11 04:18 PM
Component/s: Bridge, Framework
Affects Version/s: 2.0-Alpha2
Fix Version/s: 2.0-Alpha3, 2.0.0

Environment: ICEfaces 2.0


 Description  « Hide
The following exception can occasionally appear in the logs. It'll sometimes be generated when a session expires (see ICE-5271) but can possibly occur when the session is valid as well:

WARNING: Unable to set up WindowScope
java.lang.RuntimeException: Unknown window scope ID: 1264093522592
  at org.icefaces.application.WindowScopeManager.determineWindowID(WindowScopeManager.java:65)
  at org.icefaces.push.BridgeSetup.createView(BridgeSetup.java:37)
  at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:101)
  at com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:200)
  at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:177)
  at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:131)
  at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:430)
  at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:143)
  at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:288)
  at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:199)
  at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
  at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
  at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
  at java.lang.Thread.run(Thread.java:619)

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Ted Goddard added a comment - 21/Jan/10 01:08 PM
Seems to have appeared in revision 20283.

Ted Goddard added a comment - 21/Jan/10 01:22 PM
Revision 20283 is not the cause; continuing to investigate.

Mircea Toma added a comment - 26/Jan/10 04:22 PM
The "java.lang.RuntimeException: Unknown window scope ID" occurs when a postback request arrive after the window was reload or redirected. For example using "component-showcase" the issue can be reproduced easily when the theme is changed and without waiting for the bridge to fully load you start clicking on the tree links.

So instead of throwing the exception the WindowScopeManager will look into the list of pending scope maps and reactivate the scope map corresponding to the window ID send in the postback request.