-
Type: Bug
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: 6.0, 7.3-SNAPSHOT
-
Fix Version/s: QualifiedToSchedule
-
Component/s: Seam / JSF UI
During CI bench there is a warmup with 10 concurrent access just after Nuxeo starts.
There is a race condition that corrupt a WeakHashMap in faces, creating an infinite loop (consume all the CPU) and hangs.
"http-bio-0.0.0.0-8080-exec-16" #95 daemon prio=5 os_prio=0 tid=0x00007f014000f000 nid=0x1e96 runnable [0x00007f016d9b7000] java.lang.Thread.State: RUNNABLE at java.util.WeakHashMap.get(WeakHashMap.java:403) at com.sun.faces.facelets.tag.MetaRulesetImpl.getMetadataTarget(MetaRulesetImpl.java:211) at com.sun.faces.facelets.tag.MetaRulesetImpl.finish(MetaRulesetImpl.java:169) at javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:127) at javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102) at org.richfaces.view.facelets.html.BehaviorsAddingComponentHandlerWrapper.setAttributes(BehaviorsAddingComponentHandlerWrapper.java:113) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:473) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:179) at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) at org.richfaces.view.facelets.html.BehaviorsAddingComponentHandlerWrapper.applyNextHandler(BehaviorsAddingComponentHandlerWrapper.java:53) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203) at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) at org.richfaces.view.facelets.html.BehaviorsAddingComponentHandlerWrapper.applyNextHandler(BehaviorsAddingComponentHandlerWrapper.java:53) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203) at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at com.sun.faces.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:96) at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93) at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350) at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199) at com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:124) at com.sun.faces.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:96) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.applyAliasHandler(AliasTagHandler.java:181) at org.nuxeo.ecm.platform.ui.web.binding.alias.AliasTagHandler.apply(AliasTagHandler.java:142) at org.nuxeo.ecm.platform.ui.web.tag.handler.SetTagHandler.apply(SetTagHandler.java:110) at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:194) at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93) at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:73)
Seen here: http://qa.nuxeo.org/jenkins/job/FT-nuxeo-master-bench-dm-tomcat/963. Thread dump attached