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
>
>

Reply via email to