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

native socket.io demo doesn't use websocket if nio configured in Tomcat 7 #885

Closed
sharebear opened this issue Feb 1, 2013 · 18 comments
Closed
Labels

Comments

@sharebear
Copy link

Steps to reproduce

  • clone atmosphere repository and switch to atmosphere-1.0.x branch
  • cd samples/native-socketio-chat
  • Add src/main/webapp/META-INF/context.xml
  • mvn clean install
  • Configure tomcat with nio Connector
  • Deploy war file to tomcat
  • Open chat page in chrome while observing Network traffic with the Developer tools.

Expected result

socket.io should successfully negotiate a websocket connection as it does when using bio

Actual result

I've not checked with Wireshark what is actually happening over the network but the network log in chrome shows that the socket.io performs a fallback to xhr-polling. I have attempted to turn on all possible logging both within the app and in tomcat, nothing appears that would indicate any kind of error.

@sharebear
Copy link
Author

A little extra info... my initial tests were on 7.0.32. I just found the following bug that could have been causing an issue https://issues.apache.org/bugzilla/show_bug.cgi?id=54067 as I saw the erroneous header in the Network log. I have now repeated the test on 7.0.35 The websocket response now no longer includes the Transfer-Encoding header but the chat still falls over to xhr-polling.

@sharebear
Copy link
Author

I have also tried upgrading the socket.io client library to 0.9.11, this also had no effect.

@sharebear
Copy link
Author

If I'm interpreting the output in the Network pane correctly, then the issue seems to be that when using nio all of the headers for the 101 response are correct but the initial frame "1::" is never sent from the server when it is a websocket connection ... or at least is never received by the client.

@sharebear
Copy link
Author

As mentioned on the mailing list. This issue also affects the regular socket.io chat sample.

@survivant
Copy link
Member

I'm sorry that I wasn't more active on Atmosphere and socket.io lately. I
didn't had enough free time for opensource projects.

I'll take a lot to fix socket.io samples with Tomcat 7 and websocket.

2013/2/2 Jonathan Share [email protected]

As mentioned on the mailing list. This issue also affects the regular
socket.io chat sample.


Reply to this email directly or view it on GitHubhttps://github.com//issues/885#issuecomment-13038025.


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

@survivant
Copy link
Member

I try with atmosphere extension 1.10-snapshot and tomcat 7.0.35

and Firefox. The websocket are working

200 OK
134ms
socket.io.js (ligne 1636)

xhr.responseText=50A7110D668C8C4403B6AED5823021B62922EC7B:15000:25000:websocket,xhr-polling,jsonp-polling

socket.io.js (ligne 1629)

WS open url=ws://localhost:8080/atmosphere-nativesocketio-chat-1.1.0-SNAPSHOT/ChatAtmosphereHandler/1/websocket/50A7110D668C8C4403B6AED5823021B62922EC7B

socket.io.js (ligne 2327)

parser.decodePacket data=1::

socket.io.js (ligne 1120)

[

"websocket"

,

"xhr-polling"

,

"jsonp-polling"

]

/atmos...APSHOT/ (ligne 29)

WS sending=5:1+::{"name":"nickname","args":["test"]}

socket.io.js (ligne 2357)

parser.decodePacket data=6:::1+[false]

socket.io.js (ligne 1120)
parser.decodePacket
data=5:::{"name":"nicknames","args":[{"50A7110D668C8C4403B6AED5823021B62922EC7B":"test"}]}

2013/2/2 Sebastien Dionne [email protected]

I'm sorry that I wasn't more active on Atmosphere and socket.io lately.
I didn't had enough free time for opensource projects.

I'll take a lot to fix socket.io samples with Tomcat 7 and websocket.

2013/2/2 Jonathan Share [email protected]

As mentioned on the mailing list. This issue also affects the regular
socket.io chat sample.


Reply to this email directly or view it on GitHubhttps://github.com//issues/885#issuecomment-13038025.


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

@sharebear
Copy link
Author

Strange, can you attach/gist your tomcat server.xml so I can see how you have nio configured? The sample also works fine for me with bio, the issue only comes with nio.

On Feb 3, 2013, at 2:08 PM, Sebastien Dionne wrote:

I try with atmosphere extension 1.10-snapshot and tomcat 7.0.35

and Firefox. The websocket are working

200 OK
134ms
socket.io.js (ligne 1636)

xhr.responseText=50A7110D668C8C4403B6AED5823021B62922EC7B:15000:25000:websocket,xhr-polling,jsonp-polling

socket.io.js (ligne 1629)

WS open url=ws://localhost:8080/atmosphere-nativesocketio-chat-1.1.0-SNAPSHOT/ChatAtmosphereHandler/1/websocket/50A7110D668C8C4403B6AED5823021B62922EC7B

socket.io.js (ligne 2327)

parser.decodePacket data=1::

socket.io.js (ligne 1120)

[

"websocket"

,

"xhr-polling"

,

"jsonp-polling"

]

/atmos...APSHOT/ (ligne 29)

WS sending=5:1+::{"name":"nickname","args":["test"]}

socket.io.js (ligne 2357)

parser.decodePacket data=6:::1+[false]

socket.io.js (ligne 1120)
parser.decodePacket
data=5:::{"name":"nicknames","args":[{"50A7110D668C8C4403B6AED5823021B62922EC7B":"test"}]}

2013/2/2 Sebastien Dionne [email protected]

I'm sorry that I wasn't more active on Atmosphere and socket.io lately.
I didn't had enough free time for opensource projects.

I'll take a lot to fix socket.io samples with Tomcat 7 and websocket.

2013/2/2 Jonathan Share [email protected]

As mentioned on the mailing list. This issue also affects the regular
socket.io chat sample.


Reply to this email directly or view it on GitHubhttps://github.com//issues/885#issuecomment-13038025.


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

Reply to this email directly or view it on GitHub.

@survivant
Copy link
Member

I use the default config from a fresh download on tomcat.

I just put the sample. War into webapps folder of the tomcat that I
downloaded
On Feb 3, 2013 10:07 AM, "Jonathan Share" [email protected] wrote:

Strange, can you attach/gist your tomcat server.xml so I can see how you
have nio configured? The sample also works fine for me with bio, the issue
only comes with nio.

On Feb 3, 2013, at 2:08 PM, Sebastien Dionne wrote:

I try with atmosphere extension 1.10-snapshot and tomcat 7.0.35

and Firefox. The websocket are working

200 OK
134ms
socket.io.js (ligne 1636)

xhr.responseText=50A7110D668C8C4403B6AED5823021B62922EC7B:15000:25000:websocket,xhr-polling,jsonp-polling

socket.io.js (ligne 1629)

WS open
url=ws://localhost:8080/atmosphere-nativesocketio-chat-1.1.0-SNAPSHOT/ChatAtmosphereHandler/1/websocket/50A7110D668C8C4403B6AED5823021B62922EC7B

socket.io.js (ligne 2327)

parser.decodePacket data=1::

socket.io.js (ligne 1120)

[

"websocket"

,

"xhr-polling"

,

"jsonp-polling"

]

/atmos...APSHOT/ (ligne 29)

WS sending=5:1+::{"name":"nickname","args":["test"]}

socket.io.js (ligne 2357)

parser.decodePacket data=6:::1+[false]

socket.io.js (ligne 1120)
parser.decodePacket

data=5:::{"name":"nicknames","args":[{"50A7110D668C8C4403B6AED5823021B62922EC7B":"test"}]}

2013/2/2 Sebastien Dionne [email protected]

I'm sorry that I wasn't more active on Atmosphere and socket.iolately.
I didn't had enough free time for opensource projects.

I'll take a lot to fix socket.io samples with Tomcat 7 and websocket.

2013/2/2 Jonathan Share [email protected]

As mentioned on the mailing list. This issue also affects the regular
socket.io chat sample.


Reply to this email directly or view it on GitHub<
https://github.com/Atmosphere/atmosphere/issues/885#issuecomment-13038025>.


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHubhttps://github.com//issues/885#issuecomment-13048121.

@sharebear
Copy link
Author

Then you are not using the nio connector, and therefore not running a scalable system at all...

Replace

With

You will also need to add a context.xml to the project (see other samples) in order for atmosphere to select the nio implementation instead of falling back to bio.

On Feb 3, 2013, at 5:46 PM, Sebastien Dionne wrote:

I use the default config from a fresh download on tomcat.

I just put the sample. War into webapps folder of the tomcat that I
downloaded
On Feb 3, 2013 10:07 AM, "Jonathan Share" [email protected] wrote:

Strange, can you attach/gist your tomcat server.xml so I can see how you
have nio configured? The sample also works fine for me with bio, the issue
only comes with nio.

On Feb 3, 2013, at 2:08 PM, Sebastien Dionne wrote:

I try with atmosphere extension 1.10-snapshot and tomcat 7.0.35

and Firefox. The websocket are working

200 OK
134ms
socket.io.js (ligne 1636)

xhr.responseText=50A7110D668C8C4403B6AED5823021B62922EC7B:15000:25000:websocket,xhr-polling,jsonp-polling

socket.io.js (ligne 1629)

WS open
url=ws://localhost:8080/atmosphere-nativesocketio-chat-1.1.0-SNAPSHOT/ChatAtmosphereHandler/1/websocket/50A7110D668C8C4403B6AED5823021B62922EC7B

socket.io.js (ligne 2327)

parser.decodePacket data=1::

socket.io.js (ligne 1120)

[

"websocket"

,

"xhr-polling"

,

"jsonp-polling"

]

/atmos...APSHOT/ (ligne 29)

WS sending=5:1+::{"name":"nickname","args":["test"]}

socket.io.js (ligne 2357)

parser.decodePacket data=6:::1+[false]

socket.io.js (ligne 1120)
parser.decodePacket

data=5:::{"name":"nicknames","args":[{"50A7110D668C8C4403B6AED5823021B62922EC7B":"test"}]}

2013/2/2 Sebastien Dionne [email protected]

I'm sorry that I wasn't more active on Atmosphere and socket.iolately.
I didn't had enough free time for opensource projects.

I'll take a lot to fix socket.io samples with Tomcat 7 and websocket.

2013/2/2 Jonathan Share [email protected]

As mentioned on the mailing list. This issue also affects the regular
socket.io chat sample.


Reply to this email directly or view it on GitHub<
https://github.com/Atmosphere/atmosphere/issues/885#issuecomment-13038025>.


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHubhttps://github.com//issues/885#issuecomment-13048121.


Reply to this email directly or view it on GitHub.

@survivant
Copy link
Member

please change the label issue. It's not related to socket.io. I'll let
Jean-Francois handle this one. If tomcat 7.0.35 support websocket with the
connector use specify, atmosphere should auto-detect it.

2013/2/3 Jonathan Share [email protected]

Then you are not using the nio connector, and therefore not running a
scalable system at all...

Replace

With

You will also need to add a context.xml to the project (see other samples)
in order for atmosphere to select the nio implementation instead of falling
back to bio.

On Feb 3, 2013, at 5:46 PM, Sebastien Dionne wrote:

I use the default config from a fresh download on tomcat.

I just put the sample. War into webapps folder of the tomcat that I
downloaded
On Feb 3, 2013 10:07 AM, "Jonathan Share" [email protected]
wrote:

Strange, can you attach/gist your tomcat server.xml so I can see how
you
have nio configured? The sample also works fine for me with bio, the
issue
only comes with nio.

On Feb 3, 2013, at 2:08 PM, Sebastien Dionne wrote:

I try with atmosphere extension 1.10-snapshot and tomcat 7.0.35

and Firefox. The websocket are working

200 OK
134ms
socket.io.js (ligne 1636)

xhr.responseText=50A7110D668C8C4403B6AED5823021B62922EC7B:15000:25000:websocket,xhr-polling,jsonp-polling

socket.io.js (ligne 1629)

WS open

url=ws://localhost:8080/atmosphere-nativesocketio-chat-1.1.0-SNAPSHOT/ChatAtmosphereHandler/1/websocket/50A7110D668C8C4403B6AED5823021B62922EC7B

socket.io.js (ligne 2327)

parser.decodePacket data=1::

socket.io.js (ligne 1120)

[

"websocket"

,

"xhr-polling"

,

"jsonp-polling"

]

/atmos...APSHOT/ (ligne 29)

WS sending=5:1+::{"name":"nickname","args":["test"]}

socket.io.js (ligne 2357)

parser.decodePacket data=6:::1+[false]

socket.io.js (ligne 1120)
parser.decodePacket

data=5:::{"name":"nicknames","args":[{"50A7110D668C8C4403B6AED5823021B62922EC7B":"test"}]}

2013/2/2 Sebastien Dionne [email protected]

I'm sorry that I wasn't more active on Atmosphere and
socket.iolately.
I didn't had enough free time for opensource projects.

I'll take a lot to fix socket.io samples with Tomcat 7 and
websocket.

2013/2/2 Jonathan Share [email protected]

As mentioned on the mailing list. This issue also affects the
regular
socket.io chat sample.


Reply to this email directly or view it on GitHub<

https://github.com/Atmosphere/atmosphere/issues/885#issuecomment-13038025>.


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub<
https://github.com/Atmosphere/atmosphere/issues/885#issuecomment-13048121>.


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHubhttps://github.com//issues/885#issuecomment-13054787.


A+

Sébastien.

Vous pouvez me suivre sur Twitter / You can follow me on Twitter :
http://twitter.com/survivant

@jfarcand
Copy link
Member

Fixed in 1.0.11

@sharebear
Copy link
Author

Not sure that was an improvement :) I pulled the latest code, and now, instead of falling back to polling the call to http://localhost:8081/atmosphere-nativesocketio-chat/ChatAtmosphereHandler/1/?t=1361478235835 received the following error

java.lang.NullPointerException
org.atmosphere.cpr.AsynchronousProcessor.map(AsynchronousProcessor.java:384)
org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:206)
org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166)
org.atmosphere.container.Tomcat7CometSupport.service(Tomcat7CometSupport.java:86)
org.atmosphere.container.Tomcat7AsyncSupportWithWebSocket.doService(Tomcat7AsyncSupportWithWebSocket.java:63)
org.atmosphere.container.TomcatWebSocketUtil.doService(TomcatWebSocketUtil.java:87)
org.atmosphere.container.Tomcat7AsyncSupportWithWebSocket.service(Tomcat7AsyncSupportWithWebSocket.java:59)
org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1370)
org.atmosphere.cpr.AtmosphereServlet.event(AtmosphereServlet.java:363)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1680)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:680)

Looking in the logs I got the following...

511 [localhost-startStop-2] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor SocketIO-Support.
664 [localhost-startStop-2] ERROR org.atmosphere.cpr.AtmosphereFramework - Unable to configure Broadcaster/Factory/Cache
org.atmosphere.cpr.DefaultBroadcasterFactory$BroadcasterCreationException: java.lang.reflect.InvocationTargetException
at org.atmosphere.cpr.DefaultBroadcasterFactory.createBroadcaster(DefaultBroadcasterFactory.java:173)
at org.atmosphere.cpr.DefaultBroadcasterFactory.lookup(DefaultBroadcasterFactory.java:245)
at org.atmosphere.cpr.DefaultBroadcasterFactory.get(DefaultBroadcasterFactory.java:150)
at org.atmosphere.cpr.DefaultBroadcasterFactory.get(DefaultBroadcasterFactory.java:135)
at org.atmosphere.cpr.AtmosphereFramework.configureBroadcaster(AtmosphereFramework.java:700)
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:530)
at org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:196)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1274)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1186)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5320)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.atmosphere.cpr.DefaultBroadcasterFactory.createBroadcaster(DefaultBroadcasterFactory.java:155)
... 23 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.atmosphere.cache.EventCacheBroadcasterCache
at org.atmosphere.cpr.BroadcasterConfig.configureBroadcasterCache(BroadcasterConfig.java:141)
at org.atmosphere.cpr.BroadcasterConfig.(BroadcasterConfig.java:108)
at org.atmosphere.cpr.BroadcasterConfig.(BroadcasterConfig.java:95)
at org.atmosphere.cpr.DefaultBroadcaster.createBroadcasterConfig(DefaultBroadcaster.java:194)
at org.atmosphere.cpr.DefaultBroadcaster.(DefaultBroadcaster.java:156)
at org.atmosphere.cpr.DefaultBroadcaster.(DefaultBroadcaster.java:184)
at org.atmosphere.util.ExcludeSessionBroadcaster.(ExcludeSessionBroadcaster.java:57)
at org.atmosphere.samples.chat.SocketIOBroadcaster.(SocketIOBroadcaster.java:32)
... 28 more
Caused by: java.lang.ClassNotFoundException: org.atmosphere.cache.EventCacheBroadcasterCache
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.atmosphere.cpr.BroadcasterConfig.configureBroadcasterCache(BroadcasterConfig.java:131)
... 35 more

I can take a closer look tomorrow, but all I did now compared to earlier tests was to do git pull && mvn clean install then copied over the correct war to tomcat.

@jfarcand
Copy link
Member

Use the 1.0.x branch, the master is not stable

@jfarcand
Copy link
Member

Also,

Caused by: java.lang.ClassNotFoundException: org.atmosphere.cache.EventCacheBroadcasterCache
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.atmosphere.cpr.BroadcasterConfig.configureBroadcasterCache(BroadcasterConfig.java:131)
... 35 more

EventCacheBroadcasterCache has been renamed to UUIDBroadcasterCache so that could explain your error.

@sharebear
Copy link
Author

I'm on the 1.0.x branch

$ git branch
* atmosphere-1.0.x
  help
  list
  master

@jfarcand
Copy link
Member

Something is broken in your env. Just re-tested with both master and 1.0.x and both works fine :-)

@sharebear
Copy link
Author

Sorry, yes, you are right. I had messed with the broadcaster cache settings locally when trying to debug the issue originally. Thatnks a lot, looks like it works well now :)

@Nanaboo2
Copy link

Nanaboo2 commented Nov 1, 2013

Is this broken again? I am seeing StackOverflowError on page load. (I am running socketio-chat example.)

Nov 1, 2013 1:11:09 PM org.apache.tomcat.util.net.NioEndpoint$SocketProcessor run
SEVERE:
java.lang.StackOverflowError
at java.io.OutputStream.(OutputStream.java:29)
at javax.servlet.ServletOutputStream.(ServletOutputStream.java:46)
at org.atmosphere.cpr.AtmosphereResponse$2.(AtmosphereResponse.java:470)
at org.atmosphere.cpr.AtmosphereResponse.getOutputStream(AtmosphereResponse.java:470)
at org.atmosphere.socketio.cpr.SocketIOAtmosphereInterceptor$1.close(SocketIOAtmosphereInterceptor.java:220)
at org.atmosphere.cpr.AtmosphereResponse$2.close(AtmosphereResponse.java:553)
at org.atmosphere.socketio.cpr.SocketIOAtmosphereInterceptor$1.close(SocketIOAtmosphereInterceptor.java:220)

How to Reproduce

A. Download Tomcat 7.0.25 (or 7.0.42)
B. Enable NIO in server.xml (Since APR is broken in Atmosphere, is this still correct? )

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

C. Do Not Add META-INF/context.xml
D. build and drop atmosphere-socketio-chat ( version 2.0.3 )
atmosphere-runtime-2.0.3.jar
atmosphere-socketio-2.0.0.jar

E. as soon as you hit the index.html, you get StackOverflowError (Test with Chrome 22.0)

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

No branches or pull requests

4 participants