• Bug
  • Status: Closed
  • 2 Major
  • Resolution: Fixed
  • DSO:L1
  • teck
  • Reporter: teck
  • January 04, 2007
  • 0
  • Watchers: 0
  • July 27, 2012
  • January 04, 2007

Attachments

Description

From forum posting (http://forums.terracotta.org/forums/posts/list/108.page)

To reproduce this, import the attached WAR (from the JSF1.1_02 sun release) to a tomcat instance with DSO enabled

This is the cycle causing the stack overflow: at java.util.ArrayList.(ArrayList.java:136) at javax.faces.component.UIComponentBase$FacetsMap.keySetIterator(UIComponentBase.java:1804) at javax.faces.component.UIComponentBase$FacetsMapEntrySetIterator.(UIComponentBase.java:1974) at javax.faces.component.UIComponentBase$FacetsMapEntrySet.iterator(UIComponentBase.java:1856) at java.util.HashMap$KeySetWrapper.iterator(HashMap/java:482) at java.util.AbstractCollection.toArray(AbstractCollection.java:173) at java.util.ArrayList.(ArrayList.java:136)

Comments

Tim Eck 2007-01-04

This issue has to do with the class javax.faces.component.UIComponentBase$FacetsMap. That map implementation (a subclass of java.util.HashMap) bases it’s entrySet() iterator off of the map’s keySet() iterator. The keySet() iteartor implementation in the DSO version of java.util.HashMap is based off the entrySet() iterator. This circular dependency causes the stack overflow

Tim Eck 2007-01-04

fix committed as revision 604