I had sent another, re-formatted email immediately afterwards when I realized that the formatting hadn't gone through correctly (without proper linebreaks, stacktraces are impossible to read!), but anyway, here are a couple of gists:
When using DefaultWebSessionManager: https://gist.github.com/hsjawanda/9d360ef4e890e0ee7f61f184d4ca42b1 When using ServletContainerSessionManager: https://gist.github.com/hsjawanda/711e5ef8cc4ed95138b725f3c3625c74 Regards, Harshdeep S Jawanda On 16 March 2017 at 01:26, Brian Demers <[email protected]> wrote: > The formatting of the stacktraces is missing in the email, making it > difficult to read. > Can you reformat it, or use a Github gist ? > > On Tue, Mar 14, 2017 at 1:34 PM, Harshdeep S Jawanda <[email protected]> > wrote: > >> Do the stack traces give you any idea? >> >> Sent from my Moto X2 >> >> On 14-Mar-2017 21:31, "Harshdeep S Jawanda" <[email protected]> wrote: >> >>> Second try... >>> >>> When using DefaultWebSessionManager: >>> >>> Uncaught exception from servlet >>> java.security.AccessControlException: access denied >>> ("java.lang.RuntimePermission" "modifyThreadGroup") >>> at java.security.AccessControlContext.checkPermission(AccessCon >>> trolContext.java:484) >>> at java.security.AccessController.checkPermission(AccessControl >>> ler.java:698) >>> at java.lang.SecurityManager.checkPermission(SecurityManager.ja >>> va:549) >>> at com.google.apphosting.runtime.security.CustomSecurityManager >>> .checkPermission(CustomSecurityManager.java:55) >>> at com.google.apphosting.runtime.security.CustomSecurityManager >>> .checkAccess(CustomSecurityManager.java:136) >>> at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) >>> at java.lang.Thread.init(Thread.java:391) >>> at java.lang.Thread.init(Thread.java:349) >>> at java.lang.Thread.<init>(Thread.java:461) >>> at org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>> nScheduler$1.newThread(ExecutorServiceSessionValidationSched >>> uler.java:87) >>> at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(Thread >>> PoolExecutor.java:600) >>> at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPool >>> Executor.java:943) >>> at java.util.concurrent.ThreadPoolExecutor.ensurePrestart(Threa >>> dPoolExecutor.java:1635) >>> at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExec >>> ute(ScheduledThreadPoolExecutor.java:307) >>> at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtF >>> ixedRate(ScheduledThreadPoolExecutor.java:566) >>> at java.util.concurrent.Executors$DelegatedScheduledExecutorSer >>> vice.scheduleAtFixedRate(Executors.java:695) >>> at org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>> nScheduler.enableSessionValidation(ExecutorServiceSessionVal >>> idationScheduler.java:92) >>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>> r.enableSessionValidation(AbstractValidatingSessionManager.java:232) >>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>> r.enableSessionValidationIfNecessary(AbstractValidatingSessi >>> onManager.java:86) >>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>> r.doGetSession(AbstractValidatingSessionManager.java:114) >>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lo >>> okupSession(AbstractNativeSessionManager.java:108) >>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.ge >>> tSession(AbstractNativeSessionManager.java:100) >>> at org.apache.shiro.mgt.SessionsSecurityManager.getSession(Sess >>> ionsSecurityManager.java:125) >>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveContextSe >>> ssion(DefaultSecurityManager.java:456) >>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveSession(D >>> efaultSecurityManager.java:442) >>> at org.apache.shiro.mgt.DefaultSecurityManager.createSubject(De >>> faultSecurityManager.java:338) >>> at org.apache.shiro.subject.Subject$Builder.buildSubject(Subjec >>> t.java:846) >>> at org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubj >>> ect(WebSubject.java:148) >>> at org.apache.shiro.web.servlet.AbstractShiroFilter.createSubje >>> ct(AbstractShiroFilter.java:292) >>> at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInt >>> ernal(AbstractShiroFilter.java:359) >>> at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(O >>> ncePerRequestFilter.java:125) >>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>> r(ServletHandler.java:1157) >>> at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyF >>> ilter.java:48) >>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>> r(ServletHandler.java:1157) >>> at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.do >>> Filter(ParseBlobUploadFilter.java:125) >>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>> r(ServletHandler.java:1157) >>> at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilt >>> er(SaveSessionFilter.java:37) >>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>> r(ServletHandler.java:1157) >>> at com.google.apphosting.utils.servlet.JdbcMySqlConnectionClean >>> upFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) >>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>> r(ServletHandler.java:1157) >>> at com.google.apphosting.utils.servlet.TransactionCleanupFilter >>> .doFilter(TransactionCleanupFilter.java:48) >>> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilte >>> r(ServletHandler.java:1157) >>> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandl >>> er.java:388) >>> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHa >>> ndler.java:216) >>> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandl >>> er.java:182) >>> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandl >>> er.java:765) >>> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext. >>> java:418) >>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.han >>> dle(AppVersionHandlerMap.java:257) >>> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapp >>> er.java:152) >>> at org.mortbay.jetty.Server.handle(Server.java:326) >>> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnectio >>> n.java:542) >>> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComple >>> te(HttpConnection.java:923) >>> at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAv >>> ailable(RpcRequestParser.java:76) >>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >>> at com.google.apphosting.runtime.jetty.JettyServletEngineAdapte >>> r.serviceRequest(JettyServletEngineAdapter.java:145) >>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>> spatchServletRequest(JavaRuntime.java:559) >>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>> spatchRequest(JavaRuntime.java:519) >>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.ru >>> n(JavaRuntime.java:489) >>> at com.google.tracing.TraceContext$TraceContextRunnable.runInCo >>> ntext(TraceContext.java:453) >>> at com.google.tracing.TraceContext$TraceContextRunnable$1.run(T >>> raceContext.java:460) >>> at com.google.tracing.CurrentContext.runInContext(CurrentContex >>> t.java:293) >>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>> .runInInheritedContextNoUnref(TraceContext.java:319) >>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>> .runInInheritedContext(TraceContext.java:311) >>> at com.google.tracing.TraceContext$TraceContextRunnable.run(Tra >>> ceContext.java:457) >>> at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run( >>> ThreadGroupPool.java:238) >>> at java.lang.Thread.run(Thread.java:745) >>> >>> When using ServletContainerSessionManager: >>> >>> Failed startup of context com.google.apphosting.utils.je >>> tty.RuntimeAppEngineWebAppContext@6ea1bf09{/,/base/data/home >>> /apps/s~hsjplowns/0-7-3-hp-perf1.399822149927584543} >>> org.apache.shiro.config.ConfigurationException: Unable to determine if >>> property [sessionManager.sessionIdCookie.maxAge] represents a >>> java.util.Set >>> at org.apache.shiro.config.ReflectionBuilder.isTypedProperty(Re >>> flectionBuilder.java:264) >>> at org.apache.shiro.config.ReflectionBuilder.applyProperty(Refl >>> ectionBuilder.java:544) >>> at org.apache.shiro.config.ReflectionBuilder.applySinglePropert >>> y(ReflectionBuilder.java:206) >>> at org.apache.shiro.config.ReflectionBuilder.applyProperty(Refl >>> ectionBuilder.java:167) >>> at org.apache.shiro.config.ReflectionBuilder.buildObjects(Refle >>> ctionBuilder.java:124) >>> at org.apache.shiro.config.IniSecurityManagerFactory.buildInsta >>> nces(IniSecurityManagerFactory.java:161) >>> at org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>> rityManager(IniSecurityManagerFactory.java:124) >>> at org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>> rityManager(IniSecurityManagerFactory.java:102) >>> at org.apache.shiro.config.IniSecurityManagerFactory.createInst >>> ance(IniSecurityManagerFactory.java:88) >>> at org.apache.shiro.config.IniSecurityManagerFactory.createInst >>> ance(IniSecurityManagerFactory.java:46) >>> at org.apache.shiro.config.IniFactorySupport.createInstance(Ini >>> FactorySupport.java:123) >>> at org.apache.shiro.util.AbstractFactory.getInstance(AbstractFa >>> ctory.java:47) >>> at org.apache.shiro.web.env.IniWebEnvironment.createWebSecurity >>> Manager(IniWebEnvironment.java:203) >>> at org.apache.shiro.web.env.IniWebEnvironment.configure(IniWebE >>> nvironment.java:99) >>> at org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnviro >>> nment.java:92) >>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:45) >>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:40) >>> at org.apache.shiro.web.env.EnvironmentLoader.createEnvironment >>> (EnvironmentLoader.java:221) >>> at org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(E >>> nvironmentLoader.java:133) >>> at org.apache.shiro.web.env.EnvironmentLoaderListener.contextIn >>> itialized(EnvironmentLoaderListener.java:58) >>> at org.mortbay.jetty.handler.ContextHandler.startContext(Contex >>> tHandler.java:548) >>> at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) >>> at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppCo >>> ntext.java:1250) >>> at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHand >>> ler.java:517) >>> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext >>> .java:467) >>> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCy >>> cle.java:50) >>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.cre >>> ateHandler(AppVersionHandlerMap.java:203) >>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.get >>> Handler(AppVersionHandlerMap.java:176) >>> at com.google.apphosting.runtime.jetty.JettyServletEngineAdapte >>> r.serviceRequest(JettyServletEngineAdapter.java:133) >>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>> spatchServletRequest(JavaRuntime.java:559) >>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>> spatchRequest(JavaRuntime.java:519) >>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.ru >>> n(JavaRuntime.java:489) >>> at com.google.tracing.TraceContext$TraceContextRunnable.runInCo >>> ntext(TraceContext.java:453) >>> at com.google.tracing.TraceContext$TraceContextRunnable$1.run(T >>> raceContext.java:460) >>> at com.google.tracing.CurrentContext.runInContext(CurrentContex >>> t.java:293) >>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>> .runInInheritedContextNoUnref(TraceContext.java:319) >>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>> .runInInheritedContext(TraceContext.java:311) >>> at com.google.tracing.TraceContext$TraceContextRunnable.run(Tra >>> ceContext.java:457) >>> at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run( >>> ThreadGroupPool.java:238) >>> at java.lang.Thread.run(Thread.java:745) Caused by: >>> java.lang.NoSuchMethodException: Unknown property 'sessionIdCookie' on >>> class 'class org.apache.shiro.web.session.m >>> gt.ServletContainerSessionManager' >>> at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProp >>> erty(PropertyUtilsBean.java:1257) >>> at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProp >>> erty(PropertyUtilsBean.java:808) >>> at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(P >>> ropertyUtilsBean.java:884) >>> at org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDe >>> scriptor(PropertyUtilsBean.java:931) >>> at org.apache.commons.beanutils.PropertyUtils.getPropertyDescri >>> ptor(PropertyUtils.java:498) >>> at org.apache.shiro.config.ReflectionBuilder.isTypedProperty(Re >>> flectionBuilder.java:251) >>> ... 39 more >>> >>> >>> Regards, >>> Harshdeep S Jawanda >>> >>> On 14 March 2017 at 21:23, Harshdeep S Jawanda <[email protected]> >>> wrote: >>> >>>> This is from when I set the session manager to DefaultWebSessionManager >>>> (happens during server startup): >>>> >>>> java.security.AccessControlException: access denied >>>> ("java.lang.RuntimePermission" "modifyThreadGroup") at >>>> java.security.AccessControlContext.checkPermission(AccessCon >>>> trolContext.java:484 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=java%2Fsecurity%2FAccessControlContext.java&line=484&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at java.security.AccessController.checkPermission(AccessControl >>>> ler.java:698 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=java%2Fsecurity%2FAccessController.java&line=698&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) >>>> at com.google.apphosting.runtime.security.CustomSecurityManager >>>> .checkPermission(CustomSecurityManager.java:55) at >>>> com.google.apphosting.runtime.security.CustomSecurityManager >>>> .checkAccess(CustomSecurityManager.java:136) at >>>> java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) at >>>> java.lang.Thread.init(Thread.java:391) at >>>> java.lang.Thread.init(Thread.java:349) at >>>> java.lang.Thread.<init>(Thread.java:461) at >>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>> nScheduler$1.newThread(ExecutorServiceSessionValidationSched >>>> uler.java:87 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FExecutorServiceSessionValidationScheduler.java&line=87&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:600) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1635) >>>> at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExec >>>> ute(ScheduledThreadPoolExecutor.java:307) at >>>> java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtF >>>> ixedRate(ScheduledThreadPoolExecutor.java:566) at >>>> java.util.concurrent.Executors$DelegatedScheduledExecutorSer >>>> vice.scheduleAtFixedRate(Executors.java:695) at >>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>> nScheduler.enableSessionValidation(ExecutorServiceSessionVal >>>> idationScheduler.java:92 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FExecutorServiceSessionValidationScheduler.java&line=92&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.enableSessionValidation(AbstractValidatingSessionManager.java:232 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractValidatingSessionManager.java&line=232&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.enableSessionValidationIfNecessary(AbstractValidatingSessi >>>> onManager.java:86 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractValidatingSessionManager.java&line=86&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.doGetSession(AbstractValidatingSessionManager.java:114 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractValidatingSessionManager.java&line=114&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lo >>>> okupSession(AbstractNativeSessionManager.java:108 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractNativeSessionManager.java&line=108&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.session.mgt.AbstractNativeSessionManager.ge >>>> tSession(AbstractNativeSessionManager.java:100 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsession%2Fmgt%2FAbstractNativeSessionManager.java&line=100&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.mgt.SessionsSecurityManager.getSession(Sess >>>> ionsSecurityManager.java:125 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FSessionsSecurityManager.java&line=125&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveContextSession( >>>> DefaultSecurityManager.java:456 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FDefaultSecurityManager.java&line=456&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveSession(D >>>> efaultSecurityManager.java:442 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FDefaultSecurityManager.java&line=442&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.mgt.DefaultSecurityManager.createSubject(De >>>> faultSecurityManager.java:338 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fmgt%2FDefaultSecurityManager.java&line=338&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.subject.Subject$Builder.buildSubject(Subjec >>>> t.java:846 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fsubject%2FSubject.java&line=846&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubject( >>>> WebSubject.java:148 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fsubject%2FWebSubject.java&line=148&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.createSubject( >>>> AbstractShiroFilter.java:292 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fservlet%2FAbstractShiroFilter.java&line=292&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal( >>>> AbstractShiroFilter.java:359 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fservlet%2FAbstractShiroFilter.java&line=359&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(O >>>> ncePerRequestFilter.java:125 >>>> <https://console.cloud.google.com/debug/fromlog?appModule=default&appVersion=0-7-3-hp-perf1&file=org%2Fapache%2Fshiro%2Fweb%2Fservlet%2FOncePerRequestFilter.java&line=125&logInsertId=58c74fd5000e6bf18fa69c74&logNanos=1489457101237910000&nestedLogIndex=6&project=hsjplowns>) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.do >>>> Filter(ParseBlobUploadFilter.java:125) at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.JdbcMySqlConnectionClean >>>> upFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.TransactionCleanupFilter >>>> .doFilter(TransactionCleanupFilter.java:48) 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.apphosting.runtime.jetty.AppVersionHandlerMap.han >>>> dle(AppVersionHandlerMap.java:257) at org.mortbay.jetty.handler.Hand >>>> lerWrapper.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 com.google.apphosting.runtime.jetty.RpcRequestParser.parseAv >>>> ailable(RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnecti >>>> on.handle(HttpConnection.java:404) at com.google.apphosting.runtime. >>>> jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:145) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchServletRequest(JavaRuntime.java:559) at >>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchRequest(JavaRuntime.java:519) at com.google.apphosting.runtime. >>>> JavaRuntime$RequestRunnable.run(JavaRuntime.java:489) at >>>> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:453) >>>> at >>>> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:460) >>>> at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:293) >>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContextNoUnref(TraceContext.java:319) at >>>> com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContext(TraceContext.java:311) at >>>> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:457) >>>> at >>>> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:238) >>>> at java.lang.Thread.run(Thread.java:745) >>>> >>>> java.security.AccessControlException: access denied >>>> ("java.lang.RuntimePermission" "modifyThreadGroup") at >>>> java.security.AccessControlContext.checkPermission(AccessControlContext.java:484) >>>> at >>>> java.security.AccessController.checkPermission(AccessController.java:698) >>>> at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) >>>> at com.google.apphosting.runtime.security.CustomSecurityManager >>>> .checkPermission(CustomSecurityManager.java:55) at >>>> com.google.apphosting.runtime.security.CustomSecurityManager >>>> .checkAccess(CustomSecurityManager.java:136) at >>>> java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315) at >>>> java.lang.Thread.init(Thread.java:391) at >>>> java.lang.Thread.init(Thread.java:349) at >>>> java.lang.Thread.<init>(Thread.java:461) at >>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>> nScheduler$1.newThread(ExecutorServiceSessionValidationScheduler.java:87) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:600) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:943) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor.ensurePrestart(ThreadPoolExecutor.java:1635) >>>> at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExec >>>> ute(ScheduledThreadPoolExecutor.java:307) at >>>> java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtF >>>> ixedRate(ScheduledThreadPoolExecutor.java:566) at >>>> java.util.concurrent.Executors$DelegatedScheduledExecutorSer >>>> vice.scheduleAtFixedRate(Executors.java:695) at >>>> org.apache.shiro.session.mgt.ExecutorServiceSessionValidatio >>>> nScheduler.enableSessionValidation(ExecutorServiceSessionValidationScheduler.java:92) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.enableSessionValidation(AbstractValidatingSessionManager.java:232) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.enableSessionValidationIfNecessary(AbstractValidatingSessionManager.java:86) >>>> at org.apache.shiro.session.mgt.AbstractValidatingSessionManage >>>> r.doGetSession(AbstractValidatingSessionManager.java:114) at >>>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lo >>>> okupSession(AbstractNativeSessionManager.java:108) at >>>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.ge >>>> tSession(AbstractNativeSessionManager.java:100) at >>>> org.apache.shiro.mgt.SessionsSecurityManager.getSession(SessionsSecurityManager.java:125) >>>> at org.apache.shiro.mgt.DefaultSecurityManager.resolveContextSe >>>> ssion(DefaultSecurityManager.java:456) at >>>> org.apache.shiro.mgt.DefaultSecurityManager.resolveSession(D >>>> efaultSecurityManager.java:442) at org.apache.shiro.mgt.DefaultSe >>>> curityManager.createSubject(DefaultSecurityManager.java:338) at >>>> org.apache.shiro.subject.Subject$Builder.buildSubject(Subject.java:846) >>>> at >>>> org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubject(WebSubject.java:148) >>>> at org.apache.shiro.web.servlet.AbstractShiroFilter.createSubje >>>> ct(AbstractShiroFilter.java:292) at org.apache.shiro.web.servlet.A >>>> bstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:359) at >>>> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.do >>>> Filter(ParseBlobUploadFilter.java:125) at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at >>>> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37) >>>> at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.JdbcMySqlConnectionClean >>>> upFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) at >>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) >>>> at com.google.apphosting.utils.servlet.TransactionCleanupFilter >>>> .doFilter(TransactionCleanupFilter.java:48) 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.apphosting.runtime.jetty.AppVersionHandlerMap.han >>>> dle(AppVersionHandlerMap.java:257) at org.mortbay.jetty.handler.Hand >>>> lerWrapper.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 com.google.apphosting.runtime.jetty.RpcRequestParser.parseAv >>>> ailable(RpcRequestParser.java:76) at org.mortbay.jetty.HttpConnecti >>>> on.handle(HttpConnection.java:404) at com.google.apphosting.runtime. >>>> jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:145) >>>> at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchServletRequest(JavaRuntime.java:559) at >>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchRequest(JavaRuntime.java:519) at com.google.apphosting.runtime. >>>> JavaRuntime$RequestRunnable.run(JavaRuntime.java:489) at >>>> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:453) >>>> at >>>> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:460) >>>> at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:293) >>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContextNoUnref(TraceContext.java:319) at >>>> com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContext(TraceContext.java:311) at >>>> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:457) >>>> at >>>> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:238) >>>> at java.lang.Thread.run(Thread.java:745) >>>> >>>> >>>> The following is the exception when using ServletContainerSessionManager >>>> : >>>> >>>> Failed startup of context com.google.apphosting.utils.je >>>> tty.RuntimeAppEngineWebAppContext@6ea1bf09{/,/base/data/home >>>> /apps/s~hsjplowns/0-7-3-hp-perf1.399822149927584543} >>>> org.apache.shiro.config.ConfigurationException: Unable to determine if >>>> property [sessionManager.sessionIdCookie.maxAge] represents a >>>> java.util.Set at org.apache.shiro.config.Reflec >>>> tionBuilder.isTypedProperty(ReflectionBuilder.java:264) at >>>> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:544) >>>> at >>>> org.apache.shiro.config.ReflectionBuilder.applySingleProperty(ReflectionBuilder.java:206) >>>> at >>>> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:167) >>>> at >>>> org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:124) >>>> at org.apache.shiro.config.IniSecurityManagerFactory.buildInsta >>>> nces(IniSecurityManagerFactory.java:161) at >>>> org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>>> rityManager(IniSecurityManagerFactory.java:124) at >>>> org.apache.shiro.config.IniSecurityManagerFactory.createSecu >>>> rityManager(IniSecurityManagerFactory.java:102) at >>>> org.apache.shiro.config.IniSecurityManagerFactory.createInst >>>> ance(IniSecurityManagerFactory.java:88) at >>>> org.apache.shiro.config.IniSecurityManagerFactory.createInst >>>> ance(IniSecurityManagerFactory.java:46) at >>>> org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123) >>>> at >>>> org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47) >>>> at org.apache.shiro.web.env.IniWebEnvironment.createWebSecurity >>>> Manager(IniWebEnvironment.java:203) at org.apache.shiro.web.env.IniWe >>>> bEnvironment.configure(IniWebEnvironment.java:99) at >>>> org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnvironment.java:92) >>>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:45) >>>> at org.apache.shiro.util.LifecycleUtils.init(LifecycleUtils.java:40) >>>> at >>>> org.apache.shiro.web.env.EnvironmentLoader.createEnvironment(EnvironmentLoader.java:221) >>>> at >>>> org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(EnvironmentLoader.java:133) >>>> at org.apache.shiro.web.env.EnvironmentLoaderListener.contextIn >>>> itialized(EnvironmentLoaderListener.java:58) at >>>> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) >>>> at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at >>>> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) >>>> at >>>> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) >>>> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) >>>> at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) >>>> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.cre >>>> ateHandler(AppVersionHandlerMap.java:203) at >>>> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.get >>>> Handler(AppVersionHandlerMap.java:176) at >>>> com.google.apphosting.runtime.jetty.JettyServletEngineAdapte >>>> r.serviceRequest(JettyServletEngineAdapter.java:133) at >>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchServletRequest(JavaRuntime.java:559) at >>>> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.di >>>> spatchRequest(JavaRuntime.java:519) at com.google.apphosting.runtime. >>>> JavaRuntime$RequestRunnable.run(JavaRuntime.java:489) at >>>> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:453) >>>> at >>>> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:460) >>>> at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:293) >>>> at com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContextNoUnref(TraceContext.java:319) at >>>> com.google.tracing.TraceContext$AbstractTraceContextCallback >>>> .runInInheritedContext(TraceContext.java:311) at >>>> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:457) >>>> at >>>> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:238) >>>> at java.lang.Thread.run(Thread.java:745) Caused by: >>>> java.lang.NoSuchMethodException: Unknown property 'sessionIdCookie' on >>>> class 'class org.apache.shiro.web.session.m >>>> gt.ServletContainerSessionManager' at org.apache.commons.beanutils.P >>>> ropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1257) at >>>> org.apache.commons.beanutils.PropertyUtilsBean.getNestedProp >>>> erty(PropertyUtilsBean.java:808) at org.apache.commons.beanutils.P >>>> ropertyUtilsBean.getProperty(PropertyUtilsBean.java:884) at >>>> org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDe >>>> scriptor(PropertyUtilsBean.java:931) at org.apache.commons.beanutils.P >>>> ropertyUtils.getPropertyDescriptor(PropertyUtils.java:498) at >>>> org.apache.shiro.config.ReflectionBuilder.isTypedProperty(ReflectionBuilder.java:251) >>>> ... 39 more >>>> >>>> >>>> >>>> Regards, >>>> Harshdeep S Jawanda >>>> >>>> On 14 March 2017 at 20:51, Brian Demers <[email protected]> wrote: >>>> >>>>> Can you post the stacktraces ? >>>>> >>>>> >>>>> On Tue, Mar 14, 2017 at 3:36 AM, Harshdeep S Jawanda < >>>>> [email protected]> wrote: >>>>> >>>>>> Initially I was not explicitly setting the session manager in my >>>>>> shiro.ini, so it defaults to ServletContainerSessionManager. >>>>>> ServletContainerSessionManager doesn't have a sessionIdCookie property, >>>>>> so >>>>>> I get the NoSuchMethodException exception during startup (if I use >>>>>> securityManager.sessionManager.sessionIdCookie.maxAge in shiro.ini). >>>>>> >>>>>> If I try to explicitly set the session manager to >>>>>> DefaultWebSessionManager in shiro.ini, I get the previously mentioned >>>>>> AccessControlException, which, as far as I can make out, is because >>>>>> DefaultWebSessionManager must be trying to write to disk, and that is >>>>>> forbidden on Google App Engine. >>>>>> >>>>>> I also tried to do user.getSession().setTimeout(timeoutValue * 1000) >>>>>> immediately after user logs in (with ServletContainerSessionManager >>>>>> active), but that seems to have no effect. httpServletRequest.getSession( >>>>>> ).setMaxInactiveInterval(timeoutValue) didn't work either. >>>>>> >>>>>> Any suggestions? There must be a way to set session cookie timeout on >>>>>> GAE using Shiro... >>>>>> >>>>>> >>>>>> Regards, >>>>>> Harshdeep S Jawanda >>>>>> >>>>>> On 13 March 2017 at 20:22, Brian Demers <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> If you are using a shiro.ini the property would be: >>>>>>> securityManager.sessionManager.sessionIdCookie.maxAge = <int> >>>>>>> >>>>>>> Otherwise you can traverse your beans, something like: >>>>>>> sessionManger.getSessionIdCookie().setMaxAge(<int>) >>>>>>> >>>>>>> On Mon, Mar 13, 2017 at 12:41 AM, Harshdeep S Jawanda < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I wondered if anybody could help me with setting the session cookie >>>>>>>> lifetime for Shiro on GAE. >>>>>>>> >>>>>>>> I tried with DefaultWebSessionManager but I get an >>>>>>>> AccessControlException: >>>>>>>> >>>>>>>> java.security.AccessControlException: access denied >>>>>>>> ("java.lang.RuntimePermission" "modifyThreadGroup") >>>>>>>> >>>>>>>> Tried org.apache.shiro.session.Session#setTimeout(432000 * 1000) >>>>>>>> but that doesn't work either. The JSESSIONID cookie continues to show >>>>>>>> an >>>>>>>> Expires value of "At end of session". >>>>>>>> >>>>>>>> Regards, >>>>>>>> Harshdeep S Jawanda >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >
