I would start with a JIRA ticket and your test case please! On Tue, Sep 22, 2026 at 6:25 AM Vicente Rossello <[email protected]> wrote:
> Hi, > > I was having an occasional problem with this class. It usually happened > once or twice a day, in CI environment (110 concurrent E2E tests) and > production. > > The problem is related to concurrency. With AI assistance I could identify > and write a patch. I've been using it for a week and didn't have any more > bugs of this type. > > The error with the location always pointed to a xhtml line with some > static attribute like lazy="true" or queryDelay="100" > > I'm using myfaces 2.3-next-M9, but I think all versions are affected. > > > The stacktrace: > > javax.faces.view.facelets.TagAttributeException: > //var/jenkins_home/workspace/tr2-pull-requests/tr2-web/src/main/webapp/admin/transfer/modal-search-transfer-hotel.xhtml > at line 32 and column 83 lazy="true" java.lang.NullPointerException: Cannot > invoke "java.lang.Number.intValue()" because the return value of > "sun.invoke.util.ValueConversions.primitiveConversion(sun.invoke.util.Wrapper, > Object, boolean)" is null > at > org.apache.myfaces.view.facelets.tag.BeanPropertyTagRule$LiteralPropertyMetadata.applyMetadata(BeanPropertyTagRule.java:138) > at > org.apache.myfaces.view.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:45) > 2 lines skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:281) > 3 lines skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:362) > 1 line skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.composite.CompositeComponentResourceTagHandler.apply(CompositeComponentResourceTagHandler.java:742) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext$CompositeComponentTemplateManager.apply(DefaultFaceletContext.java:526) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeCompositeComponentDefinition(DefaultFaceletContext.java:485) > at > org.apache.myfaces.view.facelets.tag.composite.InsertChildrenHandler.apply(InsertChildrenHandler.java:77) > at > org.apache.myfaces.view.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:83) > at > org.apache.myfaces.view.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:254) > at > org.apache.myfaces.view.facelets.impl.TemplateContextImpl$TemplateManagerImpl.apply(TemplateContextImpl.java:192) > at > org.apache.myfaces.view.facelets.impl.TemplateContextImpl.includeDefinition(TemplateContextImpl.java:137) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:423) > at > org.apache.myfaces.view.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:94) > 2 lines skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:362) > 2 lines skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:147) > at > org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:67) > at > org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:49) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:510) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:566) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:543) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:216) > at > org.apache.myfaces.view.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:199) > at > org.apache.myfaces.view.facelets.tag.composite.ImplementationHandler.apply(ImplementationHandler.java:66) > 1 line skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.composite.CompositeComponentDefinitionTagHandler.apply(CompositeComponentDefinitionTagHandler.java:254) > at > org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:67) > at > org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:49) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.applyCompositeComponent(DefaultFacelet.java:601) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.applyCompositeComponent(DefaultFaceletContext.java:611) > at > org.apache.myfaces.view.facelets.tag.composite.CompositeComponentResourceTagHandler.applyCompositeComponentFacelet(CompositeComponentResourceTagHandler.java:462) > at > org.apache.myfaces.view.facelets.tag.composite.CompositeComponentResourceTagHandler.applyNextHandler(CompositeComponentResourceTagHandler.java:236) > at > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:362) > 1 line skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:147) > at > org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:67) > at > org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:49) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:510) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:566) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:543) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:216) > at > org.apache.myfaces.view.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:215) > 1 line skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:83) > at > org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:160) > at > org.apache.myfaces.view.facelets.impl.TemplateContextImpl$TemplateManagerImpl.apply(TemplateContextImpl.java:192) > at > org.apache.myfaces.view.facelets.impl.TemplateContextImpl.includeDefinition(TemplateContextImpl.java:137) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:423) > at > org.apache.myfaces.view.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:94) > 2 lines skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:362) > 2 lines skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:67) > 1 line skipped for [javax.faces] > at > org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:49) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:510) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:566) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:543) > at > org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:216) > at > org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:138) > at > org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:67) > at > org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:49) > at > org.apache.myfaces.view.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:182) > at > org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.buildView(FaceletViewDeclarationLanguage.java:435) > at > org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:83) > at > org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241) > 3 lines skipped for [org.apache.catalina, javax.faces] > at > org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:118) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at com.tr2.web.filter.LoginWebFilter.doFilter(LoginWebFilter.java:106) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at > com.tr2.web.bean.agencycollectivepassword.AgencyCollectivePasswordFilter.doFilter(AgencyCollectivePasswordFilter.kt:43) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at com.tr2.web.filter.AgencyFilter.doFilter(AgencyFilter.java:48) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at com.tr2.web.filter.MicrositeFilter.doFilter(MicrositeFilter.java:95) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 5 lines skipped for [org.apache.catalina, org.apache.tomcat] > at org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:67) > 2 lines skipped for [org.apache.catalina] > at > org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:226) > 2 lines skipped for [org.apache.catalina] > at com.tr2.web.filter.SassCompileFilter.doFilter(SassCompileFilter.java:61) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at com.tr2.web.filter.AdminFilter.doFilter(AdminFilter.java:42) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239) > at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215) > at > net.bull.javamelody.TravelcMonitoringFilter.doFilter(TravelcMonitoringFilter.java:84) > 2 lines skipped for [org.apache.catalina] > at > com.tr2.web.filter.RequestLogFilter.internalDoFilter(RequestLogFilter.java:127) > at com.tr2.web.filter.RequestLogFilter.doFilter(RequestLogFilter.java:69) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at com.tr2.web.filter.CacheFilter.doFilter(CacheFilter.java:30) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 2 lines skipped for [org.apache.catalina] > at > org.omnifaces.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:123) > at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) > 4 lines skipped for [org.apache.catalina] > at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) > 3 lines skipped for [org.apache.catalina] > at > org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97) > 13 lines skipped for [org.apache.catalina, org.apache.tomcat, > org.apache.coyote] > at java.base/java.lang.Thread.run(Thread.java:1527) > Caused by: java.lang.IllegalArgumentException: > java.lang.NullPointerException: Cannot invoke "java.lang.Number.intValue()" > because the return value of > "sun.invoke.util.ValueConversions.primitiveConversion(sun.invoke.util.Wrapper, > Object, boolean)" is null > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:114) > at java.base/java.lang.reflect.Method.invoke(Method.java:583) > at > org.apache.myfaces.view.facelets.tag.BeanPropertyTagRule$LiteralPropertyMetadata.applyMetadata(BeanPropertyTagRule.java:129) > ... 156 more > Caused by: java.lang.NullPointerException: Cannot invoke > "java.lang.Number.intValue()" because the return value of > "sun.invoke.util.ValueConversions.primitiveConversion(sun.invoke.util.Wrapper, > Object, boolean)" is null > at > java.base/sun.invoke.util.ValueConversions.unboxBoolean(ValueConversions.java:108) > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) > ... 158 more > > With AI assistance, I could write a patch > https://github.com/Travelcompositor/myfaces/commit/4b8d40f554df93f1398e6668e82aa50228198fcf > . I haven't had any more bugs of this type, so I consider this patch useful. > > If you want, I can open a JIRA ticket and submit a PR with this > documentation. > > Best regards, > Vicente. > -- ============================== Melloware [email protected] http://melloware.com ==============================
