Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
1.1-beta-3
-
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.