Details
-
Bug
-
Resolution: Invalid
-
Normal
-
None
-
None
-
None
Description
I cannot reproduce it yet, but from the application stack-trace, it happens when ListModelList get hash code directly from a inner List and it maybe is shared statically in my app.
e.g. a drop-down for selecting color of a shirt. the color is static List in my app.
Aug 29, 2012 6:41:17 AM org.zkoss.zk.ui.impl.UiEngineImpl handleError:1351
SEVERE: >>java.util.ConcurrentModificationException
>> at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
>> at java.util.AbstractList$Itr.next(AbstractList.java:343)
>> at java.util.AbstractList.hashCode(AbstractList.java:526)
>> at org.zkoss.zul.ListModelList.hashCode(ListModelList.java:219)
>> at java.util.WeakHashMap.get(WeakHashMap.java:348)
>> at org.zkoss.bind.tracker.impl.TrackerImpl$EqualBeansMap.getEqualBeans(TrackerImpl.java:522)
>> at org.zkoss.bind.tracker.impl.TrackerImpl.getAllTrackerNodesByBean0(TrackerImpl.java:405)
>> at org.zkoss.bind.tracker.impl.TrackerImpl.getAllTrackerNodesByBean(TrackerImpl.java:400)
>> at org.zkoss.bind.tracker.impl.TrackerImpl.tieValue(TrackerImpl.java:203)
>> at org.zkoss.bind.xel.zel.BindELResolver.tieValue(BindELResolver.java:155)
>> at org.zkoss.bind.xel.zel.BindELResolver.getValue(BindELResolver.java:83)
>> at org.zkoss.zel.impl.parser.AstValue.getValue(AstValue.java:179)
>> at org.zkoss.zel.impl.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
>> at org.zkoss.xel.zel.ELXelExpression.evaluate(ELXelExpression.java:40)
>> at org.zkoss.bind.impl.BindEvaluatorXImpl.getValue(BindEvaluatorXImpl.java:42)
>> at org.zkoss.bind.impl.ReferenceBindingImpl.load(ReferenceBindingImpl.java:68)
>> at org.zkoss.bind.impl.ReferenceBindingImpl.getValue(ReferenceBindingImpl.java:44)
>> at org.zkoss.bind.xel.zel.BindELResolver.getValue(BindELResolver.java:79)
>> at org.zkoss.zel.impl.parser.AstIdentifier.getValue(AstIdentifier.java:75)
>> at org.zkoss.zel.impl.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
>> at org.zkoss.xel.zel.ELXelExpression.evaluate(ELXelExpression.java:40)
>> at org.zkoss.bind.impl.BindEvaluatorXImpl.getValue(BindEvaluatorXImpl.java:42)
>> at org.zkoss.bind.impl.LoadPropertyBindingImpl.load(LoadPropertyBindingImpl.java:58)
>> at org.zkoss.bind.impl.PropertyBindingHandler.doLoadBinding(PropertyBindingHandler.java:171)
>> at org.zkoss.bind.impl.PropertyBindingHandler.doLoad(PropertyBindingHandler.java:372)
>> at org.zkoss.bind.impl.BinderImpl.loadComponentProperties(BinderImpl.java:1865)
>> at org.zkoss.bind.impl.BinderImpl.loadComponent(BinderImpl.java:1847)
>> at org.zkoss.bind.tracker.impl.BindUiLifeCycle$1.onEvent(BindUiLifeCycle.java:63)
>> at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2736)
>> at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2685)
>> at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2648)
>> at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
>> at org.zkoss.zk.ui.event.Events.sendEvent(Events.java:308)
>> at org.zkoss.zk.ui.event.Events.sendEvent(Events.java:331)
>> at org.zkoss.bind.impl.BindComboitemRenderer.render(BindComboitemRenderer.java:116)
>> at org.zkoss.zul.Combobox$Renderer.render(Combobox.java:450)
>> at org.zkoss.zul.Combobox$Renderer.access$300(Combobox.java:433)
>> at org.zkoss.zul.Combobox.onInitRender(Combobox.java:350)
>> at sun.reflect.GeneratedMethodAccessor2191.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)