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
==============================

Reply via email to