Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-2165

GroovyClassLoader dead lock situation with multiple threads

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 1.1-beta-3
    • 1.1-rc-1
    • None
    • None

    Description

      The GroovyClassLoader is causing deadlock in certain situations with Groovy. The problem appears to be the deadlock is between these two:

      for (Iterator iter = collector.getLoadedClasses().iterator(); iter.hasNext();) {
      Class clazz = (Class) iter.next();
      setClassCacheEntry(clazz);
      }
      protected void setClassCacheEntry(Class cls) {
      synchronized (classCache) {
      classCache.put(cls.getName(),cls);
      }
      }
      
      

      and the call to

      protected Class getClassCacheEntry(String name) {
      if (name==null) return null;
      synchronized (classCache) {
      return (Class) classCache.get(name);
      }
      }
      public Class loadClass(final String name, boolean lookupScriptFiles, boolean preferClassOverScript, boolean resolve)
      throws ClassNotFoundException, CompilationFailedException
      {
      // look into cache
      Class cls=getClassCacheEntry(name);
      }
      

      Here is the full thread dump from a Grails application:

      "btpool0-2" prio=5 tid=0x006306a0 nid=0x1952e00 waiting for monitor entry [0xb110e000..0xb1112d10]
              at groovy.lang.GroovyClassLoader.getClassCacheEntry(GroovyClassLoader.java:497)
              - waiting to lock <0x0b0abbf8> (a java.util.HashMap)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:599)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:703)
              at org.codehaus.groovy.grails.compiler.GrailsClassLoader.loadClass(GrailsClassLoader.java:85)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
              - locked <0x0b092950> (a org.codehaus.groovy.grails.compiler.GrailsClassLoader)
              at sun.misc.Unsafe.defineClass(Native Method)
              at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
              at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
              at sun.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:59)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:28)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:87)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:75)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib$_closure4.doCall(ApplicationTagLib.groovy:129)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:784)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:98)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:79)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib.invokeMethod(ApplicationTagLib.groovy)
              at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:804)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:754)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib$_closure3.doCall(ApplicationTagLib.groovy:90)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.Closure.call(Closure.java:292)
              at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag(GroovyPage.java:219)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:741)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at Developer_grails_apps_thread_grails_app_views_book_list_gsp$_run_closure4.doCall(Developer_grails_apps_thread_grails_app_views_book_list_gsp:40)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.Closure.call(Closure.java:292)
              at org.codehaus.groovy.runtime.DefaultGroovyMethods.eachWithIndex(DefaultGroovyMethods.java:842)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:91)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:87)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:75)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at Developer_grails_apps_thread_grails_app_views_book_list_gsp.run(Developer_grails_apps_thread_grails_app_views_book_list_gsp:32)
              at org.codehaus.groovy.grails.web.pages.GroovyPageWritable.writeTo(GroovyPageWritable.java:110)
              at org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderWithTemplateEngine(GroovyPageView.java:109)
              at org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderMergedOutputModel(GroovyPageView.java:88)
              at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:239)
              at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1140)
              at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:268)
              at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:790)
              at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
              at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
              at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:104)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
              at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:155)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:54)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
              at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
              at org.mortbay.jetty.Server.handle(Server.java:295)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)
              at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:361)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
      
      "btpool0-1" prio=5 tid=0x0062eec0 nid=0x1952a00 waiting for monitor entry [0xb1090000..0xb1091d10]
              at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
              - waiting to lock <0x0b092950> (a org.codehaus.groovy.grails.compiler.GrailsClassLoader)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:618)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:480)
              at org.codehaus.groovy.control.ResolveVisitor.resolveToClass(ResolveVisitor.java:419)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:284)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromModule(ResolveVisitor.java:398)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:131)
              at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:116)
              at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:127)
              at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:95)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:93)
              at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:849)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:48)
              at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:774)
              at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:72)
              at org.codehaus.groovy.control.CompilationUnit$5.call(CompilationUnit.java:537)
              at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:785)
              at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:448)
              at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:290)
              - locked <0x0b0abbf8> (a java.util.HashMap)
              at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:260)
              at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:255)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.compileGroovyPage(GroovyPagesTemplateEngine.java:420)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.buildPageMetaInfo(GroovyPagesTemplateEngine.java:402)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplate(GroovyPagesTemplateEngine.java:293)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplateWithResource(GroovyPagesTemplateEngine.java:277)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplate(GroovyPagesTemplateEngine.java:167)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.renderPageWithEngine(GroovyPagesServlet.java:148)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPage(GroovyPagesServlet.java:131)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doGet(GroovyPagesServlet.java:95)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
              at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.applyDecorator(GrailsPageFilter.java:74)
              at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:62)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:155)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:54)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
              at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
              at org.mortbay.jetty.Server.handle(Server.java:295)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)
              at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:361)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
      
      "Store org.hibernate.cache.StandardQueryCache Spool Thread" daemon prio=2 tid=0x0062a200 nid=0x1954600 waiting on condition [0xb1010000..0xb1010d10]
              at java.lang.Thread.sleep(Native Method)
              at net.sf.ehcache.store.DiskStore.spoolAndExpiryThreadMain(DiskStore.java:573)
              at net.sf.ehcache.store.DiskStore.access$800(DiskStore.java:65)
              at net.sf.ehcache.store.DiskStore$SpoolAndExpiryThread.run(DiskStore.java:1057)
      
      "Store org.hibernate.cache.UpdateTimestampsCache Spool Thread" daemon prio=2 tid=0x00629f00 nid=0x1953200 waiting on condition [0xb0f8f000..0xb0f8fd10]
              at java.lang.Thread.sleep(Native Method)
              at net.sf.ehcache.store.DiskStore.spoolAndExpiryThreadMain(DiskStore.java:573)
              at net.sf.ehcache.store.DiskStore.access$800(DiskStore.java:65)
              at net.sf.ehcache.store.DiskStore$SpoolAndExpiryThread.run(DiskStore.java:1057)
      
      "Thread-6" daemon prio=5 tid=0x006248f0 nid=0x19b0a00 waiting on condition [0xb0f0e000..0xb0f0ed10]
              at java.lang.Thread.sleep(Native Method)
              at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
      
      "Timer-0" prio=5 tid=0x00624350 nid=0x18f8600 in Object.wait() [0xb0e8d000..0xb0e8dd10]
              at java.lang.Object.wait(Native Method)
              - waiting on <0x0b00d768> (a java.util.TaskQueue)
              at java.util.TimerThread.mainLoop(Timer.java:509)
              - locked <0x0b00d768> (a java.util.TaskQueue)
              at java.util.TimerThread.run(Timer.java:462)
      
      "btpool0-0 - Acceptor0 SelectChannelConnector@0.0.0.0:8080" prio=5 tid=0x00622020 nid=0x18f8200 runnable [0xb0d8b000..0xb0d8bd10]
              at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
              at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:118)
              at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:69)
              at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
              - locked <0x0cffeaf0> (a sun.nio.ch.Util$1)
              - locked <0x0cffeb00> (a java.util.Collections$UnmodifiableSet)
              - locked <0x0cffeaa8> (a sun.nio.ch.KQueueSelectorImpl)
              at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
              at org.mortbay.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:432)
              at org.mortbay.io.nio.SelectorManager.doSelect(SelectorManager.java:169)
              at org.mortbay.jetty.nio.SelectChannelConnector.accept(SelectChannelConnector.java:124)
              at org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:516)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
      
      "Low Memory Detector" daemon prio=5 tid=0x0060a7c0 nid=0x1819800 runnable [0x00000000..0x00000000]
      
      "CompilerThread1" daemon prio=9 tid=0x00609dc0 nid=0x1819400 waiting on condition [0x00000000..0xb0c0832c]
      
      "CompilerThread0" daemon prio=9 tid=0x00609830 nid=0x1819000 waiting on condition [0x00000000..0xb0b8732c]
      
      "AdapterThread" daemon prio=9 tid=0x00609270 nid=0x1818c00 waiting on condition [0x00000000..0x00000000]
      
      "Signal Dispatcher" daemon prio=9 tid=0x00608d40 nid=0x1818800 waiting on condition [0x00000000..0x00000000]
      
      "Finalizer" daemon prio=8 tid=0x006083c0 nid=0x1813000 in Object.wait() [0xb0a04000..0xb0a04d10]
              at java.lang.Object.wait(Native Method)
              - waiting on <0x091fe5c0> (a java.lang.ref.ReferenceQueue$Lock)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
              - locked <0x091fe5c0> (a java.lang.ref.ReferenceQueue$Lock)
              at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
              at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
      
      "Reference Handler" daemon prio=10 tid=0x00607fc0 nid=0x1812c00 in Object.wait() [0xb0983000..0xb0983d10]
              at java.lang.Object.wait(Native Method)
              - waiting on <0x091fe640> (a java.lang.ref.Reference$Lock)
              at java.lang.Object.wait(Object.java:474)
              at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
              - locked <0x091fe640> (a java.lang.ref.Reference$Lock)
      
      "main" prio=5 tid=0x00601630 nid=0x1804a00 waiting on condition [0xb07fa000..0xb08000dc]
              at java.lang.Thread.sleep(Native Method)
              at org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.sleepImpl(DefaultGroovyStaticMethods.java:87)
              at org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.sleep(DefaultGroovyStaticMethods.java:108)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.NewStaticMetaMethod.invoke(NewStaticMetaMethod.java:85)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:141)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:70)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:81)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at RunApp_groovy$_run_closure3.doCall(RunApp_groovy:108)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:141)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:70)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:81)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at RunApp_groovy$_run_closure3.doCall(RunApp_groovy)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:141)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:70)
              at groovy.lang.Closure.call(Closure.java:292)
              at groovy.lang.Script.invokeMethod(Script.java:87)
              at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:804)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:754)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:141)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:70)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:81)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:99)
              at RunApp_groovy$_run_closure1.doCall(RunApp_groovy:51)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:141)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:70)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:81)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at RunApp_groovy$_run_closure1.doCall(RunApp_groovy)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:141)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:70)
              at groovy.lang.Closure.call(Closure.java:292)
              at groovy.lang.Closure.call(Closure.java:287)
              at groovy.lang.Closure.run(Closure.java:368)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:141)
              at org.codehaus.groovy.gant.GantMetaClass.invokeMethod(GantMetaClass.java:70)
              at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:98)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:79)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethod0(ScriptBytecodeAdapter.java:201)
              at gant.Gant.dispatch(Gant.groovy:152)
              at gant.Gant.this$2$dispatch(Gant.groovy)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:540)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:98)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:79)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at gant.Gant.invokeMethod(Gant.groovy)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at gant.Gant.process(Gant.groovy:287)
              at gant.Gant.this$2$process(Gant.groovy)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:98)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:79)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at gant.Gant.main(Gant.groovy:298)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:913)
              at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:939)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:69)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.groovy:191)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:913)
              at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:939)
              at org.codehaus.groovy.runtime.Invoker.invokeStaticMethod(Invoker.java:121)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeStaticMethod(InvokerHelper.java:89)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeStaticMethodN(ScriptBytecodeAdapter.java:218)
              at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.groovy:130)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:101)
              at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
      
      "VM Thread" prio=9 tid=0x00607790 nid=0x1812800 runnable 
      
      "VM Periodic Task Thread" prio=9 tid=0x0060b320 nid=0x1819c00 waiting on condition 
      
      "Exception Catcher Thread" prio=10 tid=0x00601850 nid=0x1804e00 runnable 
      
      Found one Java-level deadlock:
      =============================
      "btpool0-2":
        waiting to lock monitor 0x01803660 (object 0x0b0abbf8, a java.util.HashMap),
        which is held by "btpool0-1"
      "btpool0-1":
        waiting to lock monitor 0x0180363c (object 0x0b092950, a org.codehaus.groovy.grails.compiler.GrailsClassLoader),
        which is held by "btpool0-2"
      
      Java stack information for the threads listed above:
      ===================================================
      "btpool0-2":
              at groovy.lang.GroovyClassLoader.getClassCacheEntry(GroovyClassLoader.java:497)
              - waiting to lock <0x0b0abbf8> (a java.util.HashMap)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:599)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:703)
              at org.codehaus.groovy.grails.compiler.GrailsClassLoader.loadClass(GrailsClassLoader.java:85)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
              - locked <0x0b092950> (a org.codehaus.groovy.grails.compiler.GrailsClassLoader)
              at sun.misc.Unsafe.defineClass(Native Method)
              at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
              at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
              at sun.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:59)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:28)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:87)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:75)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib$_closure4.doCall(ApplicationTagLib.groovy:129)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:784)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:98)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:79)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib.invokeMethod(ApplicationTagLib.groovy)
              at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:804)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:754)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib$_closure3.doCall(ApplicationTagLib.groovy:90)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.Closure.call(Closure.java:292)
              at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag(GroovyPage.java:219)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:741)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:66)
              at Developer_grails_apps_thread_grails_app_views_book_list_gsp$_run_closure4.doCall(Developer_grails_apps_thread_grails_app_views_book_list_gsp:40)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at groovy.lang.Closure.call(Closure.java:292)
              at org.codehaus.groovy.runtime.DefaultGroovyMethods.eachWithIndex(DefaultGroovyMethods.java:842)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:64)
              at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:91)
              at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:537)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:772)
              at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:928)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:614)
              at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:87)
              at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:75)
              at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:74)
              at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:158)
              at Developer_grails_apps_thread_grails_app_views_book_list_gsp.run(Developer_grails_apps_thread_grails_app_views_book_list_gsp:32)
              at org.codehaus.groovy.grails.web.pages.GroovyPageWritable.writeTo(GroovyPageWritable.java:110)
              at org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderWithTemplateEngine(GroovyPageView.java:109)
              at org.codehaus.groovy.grails.web.servlet.view.GroovyPageView.renderMergedOutputModel(GroovyPageView.java:88)
              at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:239)
              at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1140)
              at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:268)
              at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:790)
              at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
              at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
              at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:104)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
              at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:155)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:54)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
              at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
              at org.mortbay.jetty.Server.handle(Server.java:295)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)
              at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:361)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
      "btpool0-1":
              at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
              - waiting to lock <0x0b092950> (a org.codehaus.groovy.grails.compiler.GrailsClassLoader)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:618)
              at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:480)
              at org.codehaus.groovy.control.ResolveVisitor.resolveToClass(ResolveVisitor.java:419)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromDefaultImports(ResolveVisitor.java:284)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromStaticInnerClasses(ResolveVisitor.java:269)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolveFromModule(ResolveVisitor.java:398)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:163)
              at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:131)
              at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:116)
              at org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:127)
              at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:95)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:93)
              at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:849)
              at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:48)
              at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:774)
              at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:72)
              at org.codehaus.groovy.control.CompilationUnit$5.call(CompilationUnit.java:537)
              at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:785)
              at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:448)
              at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:290)
              - locked <0x0b0abbf8> (a java.util.HashMap)
              at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:260)
              at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:255)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.compileGroovyPage(GroovyPagesTemplateEngine.java:420)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.buildPageMetaInfo(GroovyPagesTemplateEngine.java:402)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplate(GroovyPagesTemplateEngine.java:293)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplateWithResource(GroovyPagesTemplateEngine.java:277)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine.createTemplate(GroovyPagesTemplateEngine.java:167)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.renderPageWithEngine(GroovyPagesServlet.java:148)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPage(GroovyPagesServlet.java:131)
              at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doGet(GroovyPagesServlet.java:95)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
              at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
              at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.applyDecorator(GrailsPageFilter.java:74)
              at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:62)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:155)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:54)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
              at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
              at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
              at org.mortbay.jetty.Server.handle(Server.java:295)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503)
              at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:361)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
      
      Found 1 deadlock.
      
      
      

      Attachments

        Activity

          People

            guillaume Guillaume Sauthier
            graemerocher Graeme Rocher
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: