title: Grails validate runtime error
body: <p>I use grails validate() function in my very simple update action inside a controller. The problem is very starnge. <code>validate</code>() is not executed at all and giving no error and stopping the execution. I am using Grails 2.3.3</p>
  
  <p>Only the log gives the following error: </p>
  
  <pre><code>Runtime error executing action 
  </code></pre>
  
  <p>Here is my controller code: </p>
  
  <pre><code>def update() { 
  
          println(params);
  
          def study = Study.findByUid(params.uid);
          study.description = params.description;
  
          println(study); //study is found and printed  
          study.validate();
          println("here"); //not executed and code below is also not executed
  
          if(study.hasErrors()){
              study.errors.each{
                  println it
              }
              render 'not saved!'
          }
  
          if (!study.save()) {
  
              println("Error");
              withFormat renderInternalError
          }
          else {
  
              render "OK"
          }
      }
  </code></pre>
  
  <p>Stacktrace: </p>
  
  <pre><code>Request received for '/study/update':
  
  org.apache.catalina.connector.RequestFacade@1eaba95c
  
  servletPath:/study/update
  pathInfo:null
  
  Security filter chain: [
    SecurityContextPersistenceFilter
    MutableLogoutFilter
    RequestHolderAuthenticationFilter
    SecurityContextHolderAwareRequestFilter
    GrailsRememberMeAuthenticationFilter
    GrailsAnonymousAuthenticationFilter
    ExceptionTranslationFilter
    FilterSecurityInterceptor
  ]
  
  
  ************************************************************
  
  
  2013-11-27 11:56:04,738 [http-bio-8080-exec-9] DEBUG filter.GrailsRememberMeAuthenticationFilter  - SecurityContextHolder not populated with remember-me token, as it already contained: 'org.springframework.security.authentication.UsernamePasswordAuthenticationToken@f6816ea3: Principal: grails.plugin.springsecurity.userdetails.GrailsUser@b29dace9: Username: creator@example.com; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@1c07a: RemoteIpAddress: 127.0.0.1; SessionId: A1813ED8541AAC773CEF349475DB24A2; Granted Authorities: ROLE_USER'
  2013-11-27 11:56:04,738 [http-bio-8080-exec-9] DEBUG filter.GrailsAnonymousAuthenticationFilter  - SecurityContextHolder not populated with anonymous token, as it already contained: '{0}'
  2013-11-27 11:56:04,740 [http-bio-8080-exec-9] TRACE intercept.AnnotationFilterInvocationDefinition  - new candidate for '{0}': '{1}':{2}
  2013-11-27 11:56:04,740 [http-bio-8080-exec-9] TRACE intercept.AnnotationFilterInvocationDefinition  - config for '{0}' is '{1}':{2}
  2013-11-27 11:56:04,741 [http-bio-8080-exec-9] TRACE core.StandardWrapper  -   Returning non-STM instance
  2013-11-27 11:56:04,743 [http-bio-8080-exec-9] DEBUG simple.MemoryPageFragmentCachingFilter  - No cacheable annotation found for POST:/hdspro/grails/study/update.dispatch [controller=study, action=update]
  2013-11-27 11:56:05,651 [http-bio-8080-exec-9] DEBUG errors.GrailsExceptionResolver  - Resolving exception from handler [org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController@98f1784]: org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException: Executing action [update] of controller [com.digithurst.hdspro.StudyController]  caused exception: Runtime error executing action
  2013-11-27 11:56:05,651 [http-bio-8080-exec-9] DEBUG errors.GrailsExceptionResolver  - Resolving to view '/error' for exception of type [org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException], based on exception mapping [java.lang.Exception]
  2013-11-27 11:56:05,651 [http-bio-8080-exec-9] DEBUG errors.GrailsExceptionResolver  - Exposing Exception as model attribute 'exception'
  2013-11-27 11:56:05,951 [http-bio-8080-exec-9] ERROR errors.GrailsExceptionResolver  - StackOverflowError occurred when processing request: [POST] /hdspro/study/update - parameters:
  acessionNumber: 3
  uid: 3
  description: Elbogen123
  Stacktrace follows:
  org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException: Executing action [update] of controller [com.digithurst.hdspro.StudyController]  caused exception: Runtime error executing action
      at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:200)
      at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
      at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
      at grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:49)
      at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:82)
      at grails.plugin.springsecurity.web.filter.DebugFilter.invokeWithWrappedRequest(DebugFilter.java:102)
      at grails.plugin.springsecurity.web.filter.DebugFilter.doFilter(DebugFilter.java:69)
  
  ......
  </code></pre>
  
  <p>/</p>
  
  <pre><code>Study class:
  class Study extends Document {
  
      String uid
      String description
      String accessionNumber
      Date date
  
      String toString(){
          return "Study" + uid + ": " + description;
      }
  }
  </code></pre>