Vaadin 7 + GAE - Atmosphere excepcion

Hi,

I am using vaadin on a GAE project and I am having the following problem when server is starting:

[code]

Vaadin is running in DEBUG MODE.
Add productionMode=true to web.xml to disable debug features.
To show debug window, add ?debug to your application URL.

16/10/2013 01:54:45 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed AtmosphereHandler com.vaadin.server.communication.PushHandler mapped to context-path: /*
16/10/2013 01:54:45 PM org.atmosphere.cpr.DefaultBroadcaster
INFO: /* support Out Of Order Broadcast: false
16/10/2013 01:54:45 PM org.atmosphere.cpr.AtmosphereFramework configureBroadcaster
GRAVE: Unable to configure Broadcaster/Factory/Cache
org.atmosphere.cpr.DefaultBroadcasterFactory$BroadcasterCreationException: java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at org.atmosphere.cpr.DefaultBroadcasterFactory.createBroadcaster(DefaultBroadcasterFactory.java:189)
at org.atmosphere.cpr.DefaultBroadcasterFactory.lookup(DefaultBroadcasterFactory.java:263)
at org.atmosphere.cpr.DefaultBroadcasterFactory.get(DefaultBroadcasterFactory.java:162)
at org.atmosphere.cpr.DefaultBroadcasterFactory.get(DefaultBroadcasterFactory.java:147)
at org.atmosphere.cpr.AtmosphereFramework.configureBroadcaster(AtmosphereFramework.java:765)
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:538)
at com.vaadin.server.communication.PushRequestHandler.(PushRequestHandler.java:87)
at com.vaadin.server.VaadinServletService.createRequestHandlers(VaadinServletService.java:89)
at com.vaadin.server.VaadinService.init(VaadinService.java:173)
at com.vaadin.server.VaadinServlet.createServletService(VaadinServlet.java:191)
at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:97)
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
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:123)
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:368)
at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:351)
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:97)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:485)
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: java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:383)
at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkAccess(DevAppServerFactory.java:408)
at java.lang.ThreadGroup.checkAccess(Unknown Source)
at java.lang.Thread.init(Unknown Source)
at java.lang.Thread.(Unknown Source)
at org.atmosphere.util.ExecutorsFactory$1.newThread(ExecutorsFactory.java:70)
at java.util.concurrent.ThreadPoolExecutor.addThread(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at org.atmosphere.cpr.DefaultBroadcaster.spawnReactor(DefaultBroadcaster.java:686)
at org.atmosphere.cpr.DefaultBroadcaster.start(DefaultBroadcaster.java:668)
at org.atmosphere.cpr.DefaultBroadcasterFactory.createBroadcaster(DefaultBroadcasterFactory.java:178)
… 47 more
[/code]Am I missing some configuration?

thanks,

Carlos.

Either disable push, or adjust your server.policy for the application ( allow modifyThreadGroup )

Hi Petrus,

I am not enabled push and I can not change server policy to allow modifyThreadGroup because I am working with Google App Engine. Thank you for these shots.

Any suggestions? Thanks in advance.

Check if you packaged any atmosphere libraries with your application, if so remove them ( you wont need them if you disabled push ).

You are right!.. I removed atmosphere libraries removing the following line fom ivy.xml:

<!-- Push support -->
        <dependency org="com.vaadin" name="vaadin-push" rev="&vaadin.version;" />
        

After save and restart no problems occur.

thanks and regards.