I’m currently using ICEpush in my app but due to growing problems I would like to use DontPushOzoneLayer. I tried first the maven demo project from the repository. When I use it with the settings that are in the repo, I get the big red error message “Oooops…”. When I change the addon version from
1.0.3 to
0.4.8 and the GWT version form
2.4.0 to
2.3.0 the demo apps works without error message.
When I use this addon in version 0.4.8 (with gwt 2.3.0) in my application, the login screen appears, but after login I get the Oooops Message again. The log is as follows:
SEVERE: Servlet.service() for servlet [AtmosphereServlet]
in context with path
[/myapp] threw exception
java.lang.IllegalStateException: Failed to determine responsewriter
at org.atmosphere.gwt.server.impl.GwtAtmosphereResourceImpl.createResponseWriter(GwtAtmosphereResourceImpl.java:243)
at org.atmosphere.gwt.server.impl.GwtAtmosphereResourceImpl.<init>(GwtAtmosphereResourceImpl.java:55)
at org.atmosphere.gwt.server.AtmosphereGwtHandler.onRequest(AtmosphereGwtHandler.java:201)
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:219)
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:154)
at org.atmosphere.container.Tomcat7CometSupport.service(Tomcat7CometSupport.java:85)
at org.atmosphere.cpr.AtmosphereServlet.doCometSupport(AtmosphereServlet.java:1218)
at org.atmosphere.cpr.AtmosphereServlet.event(AtmosphereServlet.java:1286)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilterEvent(ApplicationFilterChain.java:484)
at org.apache.catalina.core.ApplicationFilterChain.doFilterEvent(ApplicationFilterChain.java:377)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1813)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Normally I’d state that newer versions have less problems, but apparently you have some issue with the newer version
Did you use the jetty plugin or some other server? What browser are you using? The new version worked fine for me when I tested it last week. Could you provide some detailed information about you environment so I could debug the issue and see what is really going on? I’d at least need to know your server, os and browser with their versions.
I’m using Tomcat 7.0.32 x64 on Win 7 64Bit. I tried it with Firefox 17, IE 9, Safari 5.1.7, Opera 12.10 and Chrome 23. With IE, Chrome and Firefox I get the red error message (Oooops…) after approx. 13s. With Safari and Opera the page loads and I get the Oooops message several seconds after “Test thread done” appears on the screen. When I click on “Reconnect” I can work again but after several seconds doing nothing, the Ooops comes back again. I hope this was detailed enough. If you need other infos, please let me know.
I have attached the clean demo project as a zip file. Maybe I’ve done something silly in it. I can also provide you with the Tomcat crash reports (hs_err_pidNNNN.log) if you like.
just a short update: when I change the following lines in the web.xml file, the demo starts with addon version 1.0.3 and gwt 2.4.0 in Tomcat 6.0.30 64Bit. But approx. 5 seconds after the message “Test thread done” appears, the big red message shows up.
INFO: SessionListener: contextInitialized()
Dez 04, 2012 4:55:04 PM org.apache.catalina.session.StandardSession writeObject
WARNING: Cannot serialize session attribute org.vaadin.dontpush.server.SocketCommunicationManager for session 94866DE941465978701CF90973908742
java.io.NotSerializableException: org.vaadin.dontpush.server.AtmosphereDontPushHandler
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1551)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:994)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:528)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:469)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:678)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4842)
at org.apache.catalina.manager.ManagerServlet.undeploy(ManagerServlet.java:1390)
at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:382)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1600)
at java.lang.Thread.run(Thread.java:722)
These changes together with Tomcat 7.0.32 still doesn’t work at all.
I tried with latest Tomcat (7.0.34) and faced the same issue indeed. I quickly inspected the issue and it appears communication is tried out with Tomcats new experimental websocket support and then everything just fails. I think issue 27 in project page is about the same problem.
Until this gets properly fixed, use this web.xml parameter as a workaround:
thanks for your suggestion: it helped a bit… When I open the demo app in the browser and do nothing and just wait for the message “Test thread done”, I get a red screen 5 seconds after the message was displayed. Even when I send several messages I get the red screen after 4 or 5 messages being sent.
Is this behaviour maybe by design or can I do something else myself?
I tried waiting long, idling and sending some and many messages. No issues (tomcat 7.0.34, latest FF/Safari/). What browser are you using? Are you sure your client side widgetset is compiled?
that are good news! I tried it also with Tomcat 7.0.34 64 Bit on Win 7 prof together with FF 17.0.1. Maybe you could try the example project that I used. It’s a maven project and it was used in NetBeans 7.2.
If it works in this constellation on your pc without problems, I’m pretty sure it must be something in the project/web config.
sorry for bothering you again but I still get red screens with your demo project. I copied again the files from the svn into my demo project. The only things I changed were the addition of the init-param tryWebSockets in web.xml and the removal of a duplicate plugin entry in pom.xml.
I downloaded Tomcat 7.0.34 64 Bit from
here , expanded the zip file, added one user in the tomcat-users.xml file and did a mvn clean and mvn install. I used all major browsers with the following results (no button clicks, just url entered and waited):
FF 17.0.1: red screen 5 seconds after “Test thread done”
IE 9: immediate red screen (with and w/o compatibility mode)
Safari 5.1.7: red screen 5 seconds after “Test thread done”
Chrome 23.0.1271.97m: red screen 5 seconds after “Test thread done”
Opera 12.11: red screen 5 seconds after “Test thread done”
Any news on this topic? I still can’t use DontPushOzoneLayer with Tomcat 7, even in the demo project. I thought that ICEPush is not perfect, but DontPushOzoneLayer is in my opinion even worse.