Right on. Thank you both, Mark and Niki. -Igor.
On Sun, Sep 1, 2013 at 3:00 AM, Mark Thomas <ma...@apache.org> wrote: > On 31/08/2013 02:40, Igor Urisman wrote: > > That's correct. I call close() inside onOpen(). You correctly call > > onClose() on the endpoint as well, so my code is happy. But a thread of > > yours crashes milliseconds later. I have no problem changing my code to > > call close() after onOpen() returns, of course. But if you insist on > this > > semantics, perhaps you ought to throw an exception in my thread when I > call > > close() inside onOpen()? > > No need to change your code. This has already been fixed in trunk and > will be included in 8.0.0-RC2. > > RC2 has been delayed because it needs a tc-native release to fix a > non-blocking IO issue with the APR/native connector that can result in > corruption of responses. > > The 1.1.28 release of tc-native should happen this week. The 7.0.43 and > 8.0.0-RC2 releases will follow shortly afterwards. > > Mark > > > > > > Thanks! > > -Igor. > > > > > > On Fri, Aug 30, 2013 at 6:12 PM, Niki Dokovski <nick...@gmail.com> > wrote: > > > >> On Sat, Aug 31, 2013 at 12:33 AM, Igor Urisman <igor.uris...@gmail.com > >>> wrote: > >> > >>> Dear all, > >>> > >>> Getting the following exception with none of my code on the stack: > >>> > >>> SEVERE: Error reading request, ignored > >>> java.lang.IllegalStateException: The WebSocket session has been closed > >> and > >>> no method (apart from close()) may be called on a closed session > >>> at > >> org.apache.tomcat.websocket.WsSession.checkState(WsSession.java:607) > >>> at > >>> > >> > org.apache.tomcat.websocket.WsSession.getUserPrincipal(WsSession.java:536) > >>> at > >>> > >>> > >> > org.apache.tomcat.websocket.server.WsServerContainer.registerSession(WsServerContainer.java:308) > >>> at > >>> > >>> > >> > org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:131) > >>> at > >>> > >>> > >> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) > >>> at > >>> > >>> > >> > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) > >>> at > >>> > >>> > >> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1592) > >>> at > >>> > >>> > >> > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1550) > >>> at > >>> > >>> > >> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > >>> at > >>> > >>> > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > >>> at java.lang.Thread.run(Thread.java:722) > >>> > >>> May still be my problem, of course, but far as I can tell, all I do is > >> call > >>> Session.close() once on this session. I understand this may be too > >> little > >>> to go by,-- if so I am happy to try and isolate into a testcase. > >>> > >> > >> Do you call close during @OnOpen? This exception here is possible in > this > >> case as register session call is done after invkoing applicaiton ep > OnOpen? > >> > >>> > >>> Thanks in advance, > >>> -Igor. > >>> > >> > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >