Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPE When using long-polling with tomcat7 - reproduce with gwt-20-managed-rpc #1849

Closed
jimmyjim opened this issue Feb 3, 2015 · 21 comments
Closed

Comments

@jimmyjim
Copy link

jimmyjim commented Feb 3, 2015

  • using Atmosphere master branch 2.3.0-SNAPSHOT and older (2.x.x)
  • tomcat 7.0.x

Is-it a bug in tomcat when the primary transport is set to long-polling?
Is it possible to disable native comet temporarily ?

15:13:14.490 [http-nio-8080-exec-92] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: POST
15:13:14.490 [http-nio-8080-exec-92] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Received message from client: 7|0|4|http://127.0.0.1:8080/gwt20-managed-rpc/GwtRpcDemo/|8477AB767FBF2809840901A023A6C058|java.lang.String/2004016611|org.atmosphere.gwt20.client.managed.RPCEvent@b(f24a931d-59a2-4bb5-8a31-0697fa968247)|1|2|3|4|
févr. 03, 2015 3:13:14 PM org.atmosphere.samples.server.ManagedGWTResource post
Infos: POST received with transport + POLLING
15:13:14.505 [http-nio-8080-exec-92] WARN  o.atmosphere.cpr.DefaultBroadcaster - AtmosphereResource f24a931d-59a2-4bb5-8a31-0697fa968247 is not suspended. If cached messages exists, this may cause unexpected situation. Suspend first
15:13:14.512 [Atmosphere-Shared-AsyncOp-1] WARN  org.atmosphere.cpr.AtmosphereRequest - 
java.lang.NullPointerException: null
    at org.apache.catalina.connector.Request.notifyAttributeAssigned(Request.java:1565) ~[catalina.jar:7.0.47]
    at org.apache.catalina.connector.Request.setAttribute(Request.java:1556) ~[catalina.jar:7.0.47]
    at org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:543) ~[catalina.jar:7.0.47]
    at org.atmosphere.cpr.AtmosphereRequest.setAttribute(AtmosphereRequest.java:694) ~[atmosphere-runtime-native-2.3.0-RC2.jar:2.3.0-RC2]
    at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:807) [atmosphere-runtime-native-2.3.0-RC2.jar:2.3.0-RC2]
    at org.atmosphere.cpr.DefaultBroadcaster$2.run(DefaultBroadcaster.java:433) [atmosphere-runtime-native-2.3.0-RC2.jar:2.3.0-RC2]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
@jfarcand
Copy link
Member

jfarcand commented Feb 3, 2015

@jimmyjim This is a known issue that can't be fixed. See for more information

@jfarcand jfarcand closed this as completed Feb 3, 2015
@jimmyjim
Copy link
Author

jimmyjim commented Feb 3, 2015

I've seen that the exception is catched but client does'nt receive the message.

@jimmyjim
Copy link
Author

jimmyjim commented Feb 3, 2015

It's is easy to reproduce
deploy just the gwt-20-managed-rpc just after changing the primary transport to long-polling.

Thanks

@jfarcand
Copy link
Member

jfarcand commented Feb 3, 2015

@jimmyjim The message will be cached. Please make sure you properly configured.

@jimmyjim
Copy link
Author

jimmyjim commented Feb 3, 2015

For the configuration, i follow this documentation
https://github.com/Atmosphere/atmosphere/wiki/Installing-AtmosphereServlet-with-or-without-native-support

i've tried the 2 implementations of cache too reading this page https://github.com/Atmosphere/atmosphere/wiki/Understanding-BroadcasterCache

I'm searching for 3 days !

@jimmyjim
Copy link
Author

jimmyjim commented Feb 3, 2015

Here The trace, i see warning telling atmosphereresource is not suspended. but in the managedservice, there is a SuspendTrackerInterceptor.class

Infos: Déploiement de l'archive /home/jim/Applications/apache-tomcat-7.0.23/webapps/gwt20-managed-rpc.war de l'application web
15:57:39.351 [pool-2-thread-3] INFO  org.atmosphere.util.IOUtils - META-INF/services/org.atmosphere.cpr.AtmosphereFramework not found in class loader
15:57:39.361 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Atmosphere is using org.atmosphere.cpr.DefaultAnnotationProcessor for processing annotation
15:57:39.361 [pool-2-thread-3] INFO  o.a.cpr.DefaultAnnotationProcessor - AnnotationProcessor class org.atmosphere.cpr.DefaultAnnotationProcessor$ServletContainerInitializerAnnotationProcessor being used
15:57:39.362 [pool-2-thread-3] INFO  org.atmosphere.cpr.AnnotationHandler - Found Annotation in class org.atmosphere.samples.server.ManagedGWTResource being scanned: interface org.atmosphere.config.service.ManagedService
15:57:39.372 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereHandler org.atmosphere.config.managed.ManagedAtmosphereHandler mapped to context-path /GwtRpcDemo/atmosphere/rpc and Broadcaster Class org.atmosphere.cpr.DefaultBroadcaster
15:57:39.372 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor [@ManagedService Interceptor, Atmosphere LifeCycle,  Track Message Size Interceptor using |, UUID Tracking Interceptor, Atmosphere LifeCycle,  Track Message Size Interceptor using |, org.atmosphere.gwt20.server.GwtRpcInterceptor@49922f9e, UUID Tracking Interceptor, org.atmosphere.gwt20.managed.AtmosphereMessageInterceptor] mapped to AtmosphereHandler org.atmosphere.config.managed.ManagedAtmosphereHandler
15:57:39.374 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Auto detecting WebSocketHandler in /WEB-INF/classes/
15:57:39.377 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol 
15:57:39.379 [pool-2-thread-3] WARN  o.a.cpr.DefaultAsyncSupportResolver - Found multiple containers, please specify which one to use: org.atmosphere.container.Tomcat7CometSupport, org.atmosphere.container.TomcatCometSupport,  until you do, Atmosphere will use:class org.atmosphere.container.Tomcat7CometSupport
15:57:39.380 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Installing Default AtmosphereInterceptors
15:57:39.381 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
15:57:39.381 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
15:57:39.381 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
15:57:39.381 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
15:57:39.382 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support
15:57:39.382 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
15:57:39.382 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
15:57:39.382 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
15:57:39.382 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
15:57:39.383 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
15:57:39.383 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework -     org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
15:57:39.383 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
15:57:39.383 [pool-2-thread-3] INFO  o.a.interceptor.HeartbeatInterceptor - HeartbeatInterceptor configured with padding value 'X', client frequency 60 seconds and server frequency 0 seconds
15:57:39.384 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
15:57:39.384 [Thread-7] DEBUG o.atmosphere.cpr.AtmosphereFramework - Retrieving Atmosphere's latest version from http://async-io.org/version.html
15:57:39.384 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Using BroadcastFilter: org.atmosphere.gwt20.managed.AtmosphereMessageFilterEncoder
15:57:39.384 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
15:57:39.384 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
15:57:39.384 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Broadcaster Polling Wait Time 100
15:57:39.384 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Shared ExecutorService supported: true
15:57:39.385 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Messaging Thread Pool Size: Unlimited
15:57:39.385 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Async I/O Thread Pool Size: 200
15:57:39.385 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
15:57:39.385 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
15:57:39.385 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
15:57:39.386 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Invoke AtmosphereInterceptor on WebSocket message true
15:57:39.386 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - HttpSession supported: false
15:57:39.386 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
15:57:39.386 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Atmosphere is using async support: org.atmosphere.container.Tomcat7CometSupport running under container: Apache Tomcat/7.0.23
15:57:39.387 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - Atmosphere Framework 2.3.0-SNAPSHOT started.
15:57:39.387 [pool-2-thread-3] INFO  o.atmosphere.cpr.AtmosphereFramework - 

    For Atmosphere Framework Commercial Support, visit 
    http://www.async-io.org/ or send an email to support@async-io.org

15:57:39.387 [pool-2-thread-3] INFO  org.atmosphere.cpr.AtmosphereServlet - AtmosphereServlet with native support for Tomcat 6/7 and JBossWeb Installed.
15:57:39.836 [Thread-7] INFO  o.atmosphere.cpr.AtmosphereFramework - Latest version of Atmosphere's JavaScript Client 2.2.6
15:57:39.837 [Thread-7] INFO  o.atmosphere.cpr.AtmosphereFramework - 

    Current version of Atmosphere 2.3.0-SNAPSHOT 
    Newest version of Atmosphere available 2.2.4


15:57:39.844 [Thread-7] DEBUG o.a.util.analytics.HTTPGetMethod - Sending Server's information to Atmosphere's Google Analytics http://www.google-analytics.com/__utm.gif?utmwv=1&utmn=1915412866&utmcs=UTF-8&utmsr=1440x900&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r28&utmcr=1&utmdt=gwt2-2.3.0-SNAPSHOT-Apache+Tomcat%2F7.0.23&utmhn=jim-inovelan&utmr=http://async-io.org&utmp=/gwt2/2.3.0-SNAPSHOT/Apache+Tomcat%2F7.0.23&utmac=UA-31990725-1&utmcc=__utma%3D'-1254132183.2064402984.1422975459844.1422975459844.1422975459844.2%3B%2B__utmb%3D-1254132183%3B%2B__utmc%3D-1254132183%3B%2B__utmz%3D-1254132183.1422975459844.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D-1254132183 Java/1.7.0_45 (amd64; Linux 3.13.0-40-generic)
15:57:48.790 [http-nio-8080-exec-13] DEBUG o.a.i.OnDisconnectInterceptor - No Suspended Connection found for c5b18627-c29b-4f5f-add5-bcd508ccc204. Using the AtmosphereResource associated with the close message
15:57:48.790 [http-nio-8080-exec-13] DEBUG o.a.i.OnDisconnectInterceptor - AtmosphereResource c5b18627-c29b-4f5f-add5-bcd508ccc204 disconnected
févr. 03, 2015 3:57:48 PM org.atmosphere.samples.server.ManagedGWTResource disconnected
Infos: User:c5b18627-c29b-4f5f-add5-bcd508ccc204 closed the connection
15:57:48.989 [http-nio-8080-exec-14] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: GET
févr. 03, 2015 3:57:48 PM org.atmosphere.samples.server.ManagedGWTResource onReady
Infos: Received RPC GET
15:57:49.009 [http-nio-8080-exec-16] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: GET
15:57:50.919 [http-nio-8080-exec-11] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: POST
15:57:50.920 [http-nio-8080-exec-11] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Received message from client: 7|0|4|http://127.0.0.1:8080/gwt20-managed-rpc/GwtRpcDemo/|8477AB767FBF2809840901A023A6C058|java.lang.String/2004016611|org.atmosphere.gwt20.client.managed.RPCEvent@b(5d050a34-5b5b-44d2-b7bf-8dc503cb31f5)|1|2|3|4|
févr. 03, 2015 3:57:50 PM org.atmosphere.samples.server.ManagedGWTResource post
Infos: POST received with transport + POLLING
15:57:50.927 [http-nio-8080-exec-11] WARN  o.atmosphere.cpr.DefaultBroadcaster - AtmosphereResource 5d050a34-5b5b-44d2-b7bf-8dc503cb31f5 is not suspended. If cached messages exists, this may cause unexpected situation. Suspend first
15:57:50.931 [Atmosphere-Shared-AsyncOp-1] WARN  org.atmosphere.cpr.AtmosphereRequest - 
java.lang.NullPointerException: null
    at org.apache.catalina.connector.Request.notifyAttributeAssigned(Request.java:1553) ~[catalina.jar:7.0.23]
    at org.apache.catalina.connector.Request.setAttribute(Request.java:1544) ~[catalina.jar:7.0.23]
    at org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:541) ~[catalina.jar:7.0.23]
    at org.atmosphere.cpr.AtmosphereRequest.setAttribute(AtmosphereRequest.java:694) ~[atmosphere-runtime-native-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
    at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:807) [atmosphere-runtime-native-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
    at org.atmosphere.cpr.DefaultBroadcaster$2.run(DefaultBroadcaster.java:433) [atmosphere-runtime-native-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
15:58:49.019 [http-nio-8080-exec-21] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: GET
15:59:49.027 [http-nio-8080-exec-22] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: GET
16:00:49.033 [http-nio-8080-exec-19] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: GET

@jfarcand
Copy link
Member

jfarcand commented Feb 3, 2015

@jimmyjim Please write sample that reproduce your issue and put in on Github. Thanks!

@jimmyjim
Copy link
Author

jimmyjim commented Feb 3, 2015

Ok i've pushed it on

https://github.com/jimmyjim/gwt-20-managed-rpc-tomcat7/tree/master/extensions-samples/gwt/gwt20-managed-rpc

to reproduce, deploy war in tomcat 7.0.57 (or older). i've switch protocol in server.xml to

    <Connector connectionTimeout="20000" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>

Thx

@jimmyjim
Copy link
Author

jimmyjim commented Feb 3, 2015

Connector connectionTimeout="20000" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"

@jimmyjim
Copy link
Author

jimmyjim commented Feb 4, 2015

Hi
The status of the post is marked as closed, but if there is really a problem, readers can be confused.
I think you should re-open this issue.

@jimmyjim
Copy link
Author

jimmyjim commented Feb 4, 2015

Yes i've read it.

"This exception is expected and properly handled by Atmosphere. The message may have been lost so it will be cached inside a BroadcasterCache (if one is installed). Most of the time the message will have been delivered successfully."

I've installed a broadcastercache but the messages aren't delivered. There is no traces, the method the listener onMessage doesn't receive response.

I've commit the project (with params of configuration) to reproduce it on
https://github.com/jimmyjim/gwt-20-managed-rpc-tomcat7/tree/master/extensions-samples/gwt/gwt20-managed-rpc

@Inovelan
Copy link

Inovelan commented Feb 5, 2015

I have the same issue. Even if I turn on the cache, client receive nothing.

@jfarcand
Copy link
Member

jfarcand commented Feb 5, 2015

@jimmyjim @Inovelan Please turn the log level to TRACE for the DefaultBroadcaster and UUIDBroadcasterCache and attach it to the issue. Thanks

@jimmyjim
Copy link
Author

jimmyjim commented Feb 6, 2015

Here the traces with logging level set to TRACE.
You can see that the uuidbroascastercache is set.

févr. 06, 2015 9:37:19 AM org.apache.catalina.core.AprLifecycleListener init
Infos: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
févr. 06, 2015 9:37:19 AM org.apache.coyote.AbstractProtocol init
Infos: Initializing ProtocolHandler ["http-nio-8080"]
févr. 06, 2015 9:37:19 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
Infos: Using a shared selector for servlet write/read
févr. 06, 2015 9:37:19 AM org.apache.coyote.AbstractProtocol init
Infos: Initializing ProtocolHandler ["ajp-bio-8009"]
févr. 06, 2015 9:37:19 AM org.apache.catalina.startup.Catalina load
Infos: Initialization processed in 404 ms
févr. 06, 2015 9:37:19 AM org.apache.catalina.core.StandardService startInternal
Infos: Démarrage du service Catalina
févr. 06, 2015 9:37:19 AM org.apache.catalina.core.StandardEngine startInternal
Infos: Starting Servlet Engine: Apache Tomcat/7.0.47
févr. 06, 2015 9:37:19 AM org.apache.catalina.startup.HostConfig deployWAR
Infos: Déploiement de l'archive /home/jim/Applications/apache-tomcat-7.0.47/webapps/gwt20-managed-rpc.war de l'application web
févr. 06, 2015 9:37:20 AM org.apache.catalina.core.ApplicationContext log
Infos: Initializing AtmosphereFramework
09:37:20.808 [localhost-startStop-1] INFO org.atmosphere.util.IOUtils - META-INF/services/org.atmosphere.cpr.AtmosphereFramework not found in class loader
09:37:20.832 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Atmosphere is using org.atmosphere.cpr.DefaultAnnotationProcessor for processing annotation
09:37:20.833 [localhost-startStop-1] INFO o.a.cpr.DefaultAnnotationProcessor - AnnotationProcessor class org.atmosphere.cpr.DefaultAnnotationProcessor$ServletContainerInitializerAnnotationProcessor being used
09:37:20.833 [localhost-startStop-1] INFO org.atmosphere.cpr.AnnotationHandler - Found Annotation in class org.atmosphere.samples.server.ManagedGWTResource being scanned: interface org.atmosphere.config.service.ManagedService
09:37:20.855 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereHandler org.atmosphere.config.managed.ManagedAtmosphereHandler mapped to context-path /GwtRpcDemo/atmosphere/rpc and Broadcaster Class org.atmosphere.cpr.DefaultBroadcaster
09:37:20.855 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor [@managedservice Interceptor, Atmosphere LifeCycle, Track Message Size Interceptor using |, UUID Tracking Interceptor, Atmosphere LifeCycle, Track Message Size Interceptor using |, org.atmosphere.gwt20.server.GwtRpcInterceptor@77fdbc1e, UUID Tracking Interceptor, org.atmosphere.gwt20.managed.AtmosphereMessageInterceptor, org.atmosphere.interceptor.BroadcastOnPostAtmosphereInterceptor, org.atmosphere.interceptor.IdleResourceInterceptor] mapped to AtmosphereHandler org.atmosphere.config.managed.ManagedAtmosphereHandler
09:37:20.857 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Auto detecting WebSocketHandler in /WEB-INF/classes/
09:37:20.868 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
09:37:20.874 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Installing Default AtmosphereInterceptors
09:37:20.874 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
09:37:20.874 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
09:37:20.875 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
09:37:20.875 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
09:37:20.875 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support
09:37:20.875 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
09:37:20.876 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
09:37:20.876 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
09:37:20.876 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
09:37:20.877 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
09:37:20.877 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
09:37:20.877 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
09:37:20.879 [localhost-startStop-1] INFO o.a.interceptor.HeartbeatInterceptor - HeartbeatInterceptor configured with padding value 'X', client frequency 60 seconds and server frequency 0 seconds
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
09:37:20.881 [Thread-3] DEBUG o.atmosphere.cpr.AtmosphereFramework - Retrieving Atmosphere's latest version from http://async-io.org/version.html
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Using BroadcastFilter: org.atmosphere.gwt20.managed.AtmosphereMessageFilterEncoder
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Broadcaster Polling Wait Time 100
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Shared ExecutorService supported: true
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Messaging Thread Pool Size: Unlimited
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Async I/O Thread Pool Size: 200
09:37:20.881 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
09:37:20.882 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
09:37:20.882 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
09:37:20.882 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Invoke AtmosphereInterceptor on WebSocket message true
09:37:20.882 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - HttpSession supported: false
09:37:20.882 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
09:37:20.882 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Atmosphere is using async support: org.atmosphere.container.Tomcat7AsyncSupportWithWebSocket running under container: Apache Tomcat/7.0.47
09:37:20.883 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework - Atmosphere Framework 2.3.0-SNAPSHOT-INOVELAN started.
09:37:20.883 [localhost-startStop-1] INFO o.atmosphere.cpr.AtmosphereFramework -

For Atmosphere Framework Commercial Support, visit 
http://www.async-io.org/ or send an email to support@async-io.org

09:37:20.883 [localhost-startStop-1] INFO org.atmosphere.cpr.AtmosphereServlet - AtmosphereServlet with native support for Tomcat 6/7 and JBossWeb Installed.
févr. 06, 2015 9:37:20 AM org.apache.catalina.startup.HostConfig deployDirectory
Infos: Déploiement du répertoire /home/jim/Applications/apache-tomcat-7.0.47/webapps/docs de l'application web
févr. 06, 2015 9:37:20 AM org.apache.catalina.startup.HostConfig deployDirectory
Infos: Déploiement du répertoire /home/jim/Applications/apache-tomcat-7.0.47/webapps/host-manager de l'application web
févr. 06, 2015 9:37:20 AM org.apache.catalina.startup.HostConfig deployDirectory
Infos: Déploiement du répertoire /home/jim/Applications/apache-tomcat-7.0.47/webapps/ROOT de l'application web
févr. 06, 2015 9:37:21 AM org.apache.catalina.startup.HostConfig deployDirectory
Infos: Déploiement du répertoire /home/jim/Applications/apache-tomcat-7.0.47/webapps/examples de l'application web
09:37:21.113 [Thread-3] INFO o.atmosphere.cpr.AtmosphereFramework - Latest version of Atmosphere's JavaScript Client 2.2.6
09:37:21.114 [Thread-3] INFO o.atmosphere.cpr.AtmosphereFramework -

Current version of Atmosphere 2.3.0-SNAPSHOT-INOVELAN 
Newest version of Atmosphere available 2.2.4

09:37:21.121 [Thread-3] DEBUG o.a.util.analytics.HTTPGetMethod - Sending Server's information to Atmosphere's Google Analytics http://www.google-analytics.com/__utm.gif?utmwv=1&utmn=-1429195333&utmcs=UTF-8&utmsr=1440x900&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r28&utmcr=1&utmdt=gwt2-2.3.0-SNAPSHOT-INOVELAN-Apache+Tomcat%2F7.0.47&utmhn=jim-inovelan&utmr=http://async-io.org&utmp=/gwt2/2.3.0-SNAPSHOT-INOVELAN/Apache+Tomcat%2F7.0.47&utmac=UA-31990725-1&utmcc=__utma%3D'-756161612.2053061404.1423211841120.1423211841120.1423211841120.2%3B%2B__utmb%3D-756161612%3B%2B__utmc%3D-756161612%3B%2B__utmz%3D-756161612.1423211841120.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D-756161612 Java/1.7.0_45 (amd64; Linux 3.13.0-40-generic)
févr. 06, 2015 9:37:21 AM org.apache.catalina.core.ApplicationContext log
Infos: ContextListener: contextInitialized()
févr. 06, 2015 9:37:21 AM org.apache.catalina.core.ApplicationContext log
Infos: SessionListener: contextInitialized()
févr. 06, 2015 9:37:21 AM org.apache.catalina.core.ApplicationContext log
Infos: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@5c99c47d')
févr. 06, 2015 9:37:21 AM org.apache.catalina.startup.HostConfig deployDirectory
Infos: Déploiement du répertoire /home/jim/Applications/apache-tomcat-7.0.47/webapps/manager de l'application web
févr. 06, 2015 9:37:21 AM org.apache.coyote.AbstractProtocol start
Infos: Starting ProtocolHandler ["http-nio-8080"]
févr. 06, 2015 9:37:21 AM org.apache.coyote.AbstractProtocol start
Infos: Starting ProtocolHandler ["ajp-bio-8009"]
févr. 06, 2015 9:37:21 AM org.apache.catalina.startup.Catalina start
Infos: Server startup in 1742 ms
09:37:32.300 [http-nio-8080-exec-6] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: GET
févr. 06, 2015 9:37:32 AM org.atmosphere.samples.server.ManagedGWTResource onReady
Infos: Received RPC GET
09:37:32.343 [http-nio-8080-exec-8] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: GET
09:37:45.818 [http-nio-8080-exec-4] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Found GWT-RPC Atmosphere request. method: POST
09:37:45.819 [http-nio-8080-exec-4] DEBUG o.a.gwt20.server.GwtRpcInterceptor - Received message from client: 7|0|4|http://127.0.0.1:8080/gwt20-managed-rpc/GwtRpcDemo/|142E536D7590DB18090AF9862D0CFA78|java.lang.String/2004016611|org.atmosphere.gwt20.client.managed.RPCEvent@b(ac7c7e27-35e2-4cf7-aba7-1903fdd384ad)|1|2|3|4|
févr. 06, 2015 9:37:45 AM org.atmosphere.samples.server.ManagedGWTResource post
Infos: POST received with transport + POLLING
09:37:45.834 [http-nio-8080-exec-4] WARN o.a.i.BroadcastOnPostAtmosphereInterceptor - AtmosphereRequest{ method=POST contextPath=/gwt20-managed-rpc servletPath=/GwtRpcDemo/atmosphere pathInfo=/rpc requestURI=/gwt20-managed-rpc/GwtRpcDemo/atmosphere/rpc requestURL=http://127.0.0.1:8080/gwt20-managed-rpc/GwtRpcDemo/atmosphere/rpc AtmosphereResource UUID=ac7c7e27-35e2-4cf7-aba7-1903fdd384ad destroyable=true} received an empty body

@ghost
Copy link

ghost commented Feb 9, 2015

Same problem here with Tomcat7, and I don't find a satisfying solution or a workaround to this.

@jimmyjim
Copy link
Author

Anthony have you finally found the solution ? Thanks a lot.

@ghost
Copy link

ghost commented Feb 24, 2015

no, still the same problem
@jfarcand why is this topic closed ? are you still planning on fixing this issue ?

@jfarcand
Copy link
Member

@AnthonySantnet This is NOT an issue as I noted and that's expected. In 2.2.6 the log has been changed...but the application still works when such NPE happens.

@ghost
Copy link

ghost commented Feb 24, 2015

Ok, i've seen that you're catching the exception, but the application doesn't work even when setting a broadcastercache.

As jimmyjim said, you can just deploy the "gwt20-managed-rpc" sample project in a tomcat container to see by yourself.

@bodtx
Copy link

bodtx commented Apr 2, 2017

Same problem here with

  • tomcat 8
  • 2.5.0-SNAPSHOT
  • 2.5.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants