DontPushOzoneLayer - Ooops...

Hi,

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)

What could be the problem?

TIA

Andreas

Hi,

Normally I’d state that newer versions have less problems, but apparently you have some issue with the newer version :slight_smile:

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.

cheers,
matti

Hi Matti,

thanks for your fast response!

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.

Thanks

Andreas
12673.zip (9.19 KB)

Hi Matti,

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.

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
...
	<!--<async-supported>true</async-supported>-->

Tomcat 6.0.30 log:

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 hope you can find the problem…

Best regards

Andreas

Hi Matti,

do you see a chance to get the example working with Tomcat 7.0.32 and DontPushOzoneLayer 1.0.3?

Best regards

Andreas

Hi,

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:


	<init-param>
			<param-name>tryWebSockets</param-name>
			<param-value>false</param-value>
	</init-param>

It forces Atmosphere to skip trying websocket connection and goes on with more traditional solution.

cheers,
matti

Hi Matti,

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 :slight_smile: or can I do something else myself?

Cheers

Andreas

Hi,

That sure isn’t by design :slight_smile:

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?

cheers,
matti

Hi Matti,

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.

Thanks for your patience

Andreas
12695.zip (9.9 KB)

Hi Matti,

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”

Have you tried my demo project?

Kind regards

Andreas

I just tried out of curiosity the 32 bit version of Tomcat 7.0.34 from
here
. This is the result:

FF 17.0.1: works
IE 9: immediate red screen (with and w/o compatibility mode)
Safari 5.1.7: works
Chrome 23.0.1271.97m: works
Opera 12.11: works

Do you have an idea why the 64 bit version behaves different? And how can I convince IE not to show the red screen?

Andreas

Bump.

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.

Have a nice weekend

Andreas

Not sure about 32 .vs. 64 issue but
ie9 issue maybe related to http://code.google.com/p/dontpush/issues/detail?id=25