I took 5.4-beta-22 out for a spin yesterday and I ran into the following exception when trying to run the AppEngine local dev server and there is an error on the page and Tapestry attempts to display the exception page. I'm not yet sure if this is going to work when deployed to AppEngine proper, but I was wondering if there is a way to override either whether the exception page attempts to do this.
In the local environment, I can certainly start the local dev server with a <jvmFlag>-Denable_all_permissions=true</jvmFlag> option that avoids the issue in my local setup, so it's not a massive deal. Yet, this was certainly not happening in 5.3.7 so I wonder what changed. Other than that, 5.4 just looks fantastic - I had been holding off on trying it out , but now I can't wait this release to go out ! Any ideas ? Cheers - org.apache.tapestry5.internal.services.RenderQueueException: Render queue error in SetupRender[core/ExceptionReport:loop_0]: Failure reading parameter 'source' of component core/ExceptionReport:loop_0: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 110] at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:87) at org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:114) at $PageRenderQueue_954065d89e49.render(Unknown Source) at $PageRenderQueue_954065d89e48.render(Unknown Source) at org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37) at org.apache.tapestry5.internal.services.PageNameMetaInjector.renderMarkup(PageNameMetaInjector.java:41) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$29.renderMarkup(TapestryModule.java:1810) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$28.renderMarkup(TapestryModule.java:1800) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$27.renderMarkup(TapestryModule.java:1784) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$26.renderMarkup(TapestryModule.java:1768) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.internal.services.javascript.AddBrowserCompatibilityStyles.renderMarkup(AddBrowserCompatibilityStyles.java:45) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.internal.services.javascript.ConfigureHTMLElementFilter.renderMarkup(ConfigureHTMLElementFilter.java:45) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.JavaScriptModule$1.renderMarkup(JavaScriptModule.java:259) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$25.renderMarkup(TapestryModule.java:1751) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at $MarkupRenderer_954065d89e47.renderMarkup(Unknown Source) at org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47) at $PageMarkupRenderer_954065d89e45.renderPageMarkup(Unknown Source) at org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:64) at $PageResponseRenderer_954065d89dbf.renderPageResponse(Unknown Source) at org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.renderException(DefaultRequestExceptionHandler.java:261) at org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:144) at $RequestExceptionHandler_954065d89d7c.handleRequestException(Unknown Source) at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119) at $RequestHandler_954065d89d7e.service(Unknown Source) at $RequestHandler_954065d89d6d.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255) at org.tynamo.resteasy.JSAPIRequestFilter.service(JSAPIRequestFilter.java:80) at $HttpServletRequestFilter_954065d89d6c.service(Unknown Source) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.tynamo.resteasy.ResteasyRequestFilter.service(ResteasyRequestFilter.java:106) at $HttpServletRequestFilter_954065d89d6b.service(Unknown Source) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_954065d89d68.service(Unknown Source) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at $HttpServletRequestHandler_954065d89d67.service(Unknown Source) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349) at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:98) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:491) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure reading parameter 'source' of component core/ExceptionReport:loop_0: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 110] at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:155) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.render(ComponentPageElementImpl.java:183) at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:79) ... 94 more Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure reading parameter 'source' of component core/ExceptionReport:loop_0: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 110] at org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:268) at org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:381) at org.apache.tapestry5.corelib.components.Loop.conduit_get_source(Loop.java) at org.apache.tapestry5.corelib.components.Loop.setup(Loop.java:324) at org.apache.tapestry5.corelib.components.Loop.setupRender(Loop.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.invokeComponent(ComponentPageElementImpl.java:176) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:135) ... 96 more Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 110] at org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:67) at org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:263) ... 102 more Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372) at java.security.AccessController.checkPermission(AccessController.java:559) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:429) at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkAccess(DevAppServerFactory.java:454) at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) at java.lang.ThreadGroup.getParent(ThreadGroup.java:167) at org.apache.tapestry5.internal.TapestryInternalUtils.getAllThreads(TapestryInternalUtils.java:597) at org.apache.tapestry5.corelib.pages.ExceptionReport.getThreads(ExceptionReport.java:213) at $InternalPropertyConduit_954065d89f01.get(Unknown Source) at org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:63) ... 103 more Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure reading parameter 'source' of component core/ExceptionReport:loop_0: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 110] at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:155) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.render(ComponentPageElementImpl.java:183) at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:79) at org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:114) at $PageRenderQueue_954065d89e49.render(Unknown Source) at $PageRenderQueue_954065d89e48.render(Unknown Source) at org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37) at org.apache.tapestry5.internal.services.PageNameMetaInjector.renderMarkup(PageNameMetaInjector.java:41) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$29.renderMarkup(TapestryModule.java:1810) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$28.renderMarkup(TapestryModule.java:1800) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$27.renderMarkup(TapestryModule.java:1784) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$26.renderMarkup(TapestryModule.java:1768) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.internal.services.javascript.AddBrowserCompatibilityStyles.renderMarkup(AddBrowserCompatibilityStyles.java:45) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.internal.services.javascript.ConfigureHTMLElementFilter.renderMarkup(ConfigureHTMLElementFilter.java:45) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.JavaScriptModule$1.renderMarkup(JavaScriptModule.java:259) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$25.renderMarkup(TapestryModule.java:1751) at $MarkupRenderer_954065d89e4c.renderMarkup(Unknown Source) at $MarkupRenderer_954065d89e47.renderMarkup(Unknown Source) at org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47) at $PageMarkupRenderer_954065d89e45.renderPageMarkup(Unknown Source) at org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:64) at $PageResponseRenderer_954065d89dbf.renderPageResponse(Unknown Source) at org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.renderException(DefaultRequestExceptionHandler.java:261) at org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:144) at $RequestExceptionHandler_954065d89d7c.handleRequestException(Unknown Source) at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89) at $RequestHandler_954065d89d7e.service(Unknown Source) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119) at $RequestHandler_954065d89d7e.service(Unknown Source) at $RequestHandler_954065d89d6d.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255) at org.tynamo.resteasy.JSAPIRequestFilter.service(JSAPIRequestFilter.java:80) at $HttpServletRequestFilter_954065d89d6c.service(Unknown Source) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.tynamo.resteasy.ResteasyRequestFilter.service(ResteasyRequestFilter.java:106) at $HttpServletRequestFilter_954065d89d6b.service(Unknown Source) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) at $HttpServletRequestFilter_954065d89d68.service(Unknown Source) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804) at $HttpServletRequestHandler_954065d89d6f.service(Unknown Source) at $HttpServletRequestHandler_954065d89d67.service(Unknown Source) at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349) at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:98) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:491) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: Failure reading parameter 'source' of component core/ExceptionReport:loop_0: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 110] at org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:268) at org.apache.tapestry5.internal.transform.ParameterWorker$3$1.get(ParameterWorker.java:381) at org.apache.tapestry5.corelib.components.Loop.conduit_get_source(Loop.java) at org.apache.tapestry5.corelib.components.Loop.setup(Loop.java:324) at org.apache.tapestry5.corelib.components.Loop.setupRender(Loop.java) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.invokeComponent(ComponentPageElementImpl.java:176) at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:135) ... 96 more Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml, line 110] at org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:67) at org.apache.tapestry5.internal.transform.ParameterWorker$3$1.readFromBinding(ParameterWorker.java:263) ... 102 more Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372) at java.security.AccessController.checkPermission(AccessController.java:559) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:429) at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkAccess(DevAppServerFactory.java:454) at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) at java.lang.ThreadGroup.getParent(ThreadGroup.java:167) at org.apache.tapestry5.internal.TapestryInternalUtils.getAllThreads(TapestryInternalUtils.java:597) at org.apache.tapestry5.corelib.pages.ExceptionReport.getThreads(ExceptionReport.java:213) at $InternalPropertyConduit_954065d89f01.get(Unknown Source) at org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:63)