Bummer, I just confirmed that the same error happens when deployed in
AppEngine. At first glance this looked similar to an issue that was fixed a
couple of years ago (https://issues.apache.org/jira/browse/TAP5-1616), but
this is definitely different. I do recall that in general in production one
might want to have a different exception page (than this default), yet I
wonder if there is anything that can still be done about this before 5.4
goes out (if it's considered important enough for a 5.4 release).

Cheers - Alex K

On Fri, Nov 14, 2014 at 6:08 PM, Alex Kotchnev <[email protected]> wrote:

> 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)
>
>

Reply via email to