Uploaded image for project: 'RichFaces'
  1. RichFaces
  2. RF-13991

GraphValidator is not working on Tomcat

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.5.2, 4.5.3
    • Fix Version/s: 4.5.4
    • Component/s: component-validators
    • Labels:
      None
    • Environment:

      Tried with RF 4.5.2 and 4.5.3 Snapshots, with Firefox 35

    • Steps to Reproduce:
      Hide
      1. deploy Showcase on Tomcat 8.0.20
      2. open http://localhost:8080/richfaces-showcase-tomcat6/richfaces/component-sample.jsf?demo=graphValidator&skin=blueSky
      3. fill a correct value in both fields, e.g "123456"
      4. submit with "Store changes"
      • expected: info message: "Successfully changed!"
      • have: exception in container's logs:
        SEVERE [http-nio-8080-exec-16] com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError javax.validation.ValidationException: HV000041: Call to TraversableResolver.isReachable() threw an exception.
                at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1257)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:459)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:406)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:370)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322)
                at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:152)
                at org.richfaces.validator.BeanValidatorServiceImpl.validateObject(BeanValidatorServiceImpl.java:281)
                at org.richfaces.component.AbstractGraphValidator.validateObject(AbstractGraphValidator.java:183)
                at org.richfaces.component.AbstractGraphValidator.processValidators(AbstractGraphValidator.java:158)
                at javax.faces.component.UIForm.processValidators(UIForm.java:253)
                at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:575)
                at org.richfaces.context.MetaComponentProcessingVisitCallback.visit(MetaComponentProcessingVisitCallback.java:73)
                at org.richfaces.context.BaseExtendedVisitContext.invokeVisitCallback(BaseExtendedVisitContext.java:103)
                at org.richfaces.context.ExtendedExecuteVisitContext.invokeVisitCallback(ExtendedExecuteVisitContext.java:55)
                at javax.faces.component.UIForm.visitTree(UIForm.java:381)
                at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
                at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
                at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
                at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
                at org.richfaces.context.ExtendedPartialViewContext.processPartial(ExtendedPartialViewContext.java:263)
                at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1193)
                at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
                at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
                at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
                at org.richfaces.demo.arrangeablemodel.PersistenceLifecycle.execute(PersistenceLifecycle.java:58)
                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.richfaces.webapp.PushFilter.doFilter(PushFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:172)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
                at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
                at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
                at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.lang.Thread.run(Thread.java:745)
        Caused by: javax.persistence.PersistenceException: Unable to access field or method: class org.richfaces.demo.validation.PasswordValidationBean#passwordsEquals
                at org.hibernate.ejb.util.PersistenceUtilHelper.get(PersistenceUtilHelper.java:106)
                at org.hibernate.ejb.util.PersistenceUtilHelper.isLoadedWithReference(PersistenceUtilHelper.java:81)
                at org.hibernate.ejb.HibernatePersistence$1.isLoadedWithReference(HibernatePersistence.java:93)
                at javax.persistence.Persistence$1.isLoaded(Persistence.java:98)
                at org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:57)
                at org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:137)
                at org.hibernate.validator.internal.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:46)
                at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1248)
                ... 53 more
        Caused by: java.lang.reflect.InvocationTargetException
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:606)
                at org.hibernate.ejb.util.PersistenceUtilHelper.get(PersistenceUtilHelper.java:94)
                ... 60 more
        Caused by: java.lang.NullPointerException
                at org.richfaces.demo.validation.PasswordValidationBean.isPasswordsEquals(PasswordValidationBean.java:25)
        
        
      Show
      deploy Showcase on Tomcat 8.0.20 open http://localhost:8080/richfaces-showcase-tomcat6/richfaces/component-sample.jsf?demo=graphValidator&skin=blueSky fill a correct value in both fields, e.g "123456" submit with "Store changes" expected: info message: "Successfully changed!" have: exception in container's logs: SEVERE [http-nio-8080-exec-16] com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError javax.validation.ValidationException: HV000041: Call to TraversableResolver.isReachable() threw an exception. at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1257) at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:459) at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:406) at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:370) at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:322) at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:152) at org.richfaces.validator.BeanValidatorServiceImpl.validateObject(BeanValidatorServiceImpl.java:281) at org.richfaces.component.AbstractGraphValidator.validateObject(AbstractGraphValidator.java:183) at org.richfaces.component.AbstractGraphValidator.processValidators(AbstractGraphValidator.java:158) at javax.faces.component.UIForm.processValidators(UIForm.java:253) at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:575) at org.richfaces.context.MetaComponentProcessingVisitCallback.visit(MetaComponentProcessingVisitCallback.java:73) at org.richfaces.context.BaseExtendedVisitContext.invokeVisitCallback(BaseExtendedVisitContext.java:103) at org.richfaces.context.ExtendedExecuteVisitContext.invokeVisitCallback(ExtendedExecuteVisitContext.java:55) at javax.faces.component.UIForm.visitTree(UIForm.java:381) at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700) at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403) at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266) at org.richfaces.context.ExtendedPartialViewContext.processPartial(ExtendedPartialViewContext.java:263) at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1193) at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at org.richfaces.demo.arrangeablemodel.PersistenceLifecycle.execute(PersistenceLifecycle.java:58) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.richfaces.webapp.PushFilter.doFilter(PushFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:172) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang. Thread .run( Thread .java:745) Caused by: javax.persistence.PersistenceException: Unable to access field or method: class org.richfaces.demo.validation.PasswordValidationBean#passwordsEquals at org.hibernate.ejb.util.PersistenceUtilHelper.get(PersistenceUtilHelper.java:106) at org.hibernate.ejb.util.PersistenceUtilHelper.isLoadedWithReference(PersistenceUtilHelper.java:81) at org.hibernate.ejb.HibernatePersistence$1.isLoadedWithReference(HibernatePersistence.java:93) at javax.persistence.Persistence$1.isLoaded(Persistence.java:98) at org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:57) at org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:137) at org.hibernate.validator.internal.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:46) at org.hibernate.validator.internal.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:1248) ... 53 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.hibernate.ejb.util.PersistenceUtilHelper.get(PersistenceUtilHelper.java:94) ... 60 more Caused by: java.lang.NullPointerException at org.richfaces.demo.validation.PasswordValidationBean.isPasswordsEquals(PasswordValidationBean.java:25)

      Description

      Object validation using graphValidator is not working on Tomcat with release 8.0.17 and up (tried 8.0.20). Works with Tomcat 8.0.15.

      Reproducible in Showcase and Metamer. It is not working with both MyFaces and Mojarra.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                michpetrov Michal Petrov
                Reporter:
                jstefek Jiří Štefek
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: