2015-02-24 21:26 GMT+01:00 Christopher Schultz <ch...@christopherschultz.net >:
> Rémy, > > On 2/24/15 11:44 AM, r...@apache.org wrote: > > Author: remm > > Date: Tue Feb 24 16:44:05 2015 > > New Revision: 1662014 > > > > URL: http://svn.apache.org/r1662014 > > Log: > > Catch ISE thrown by the closed IS for a rare but possibly legitimate > scenario. > > > > Modified: > > > > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java > > > > Modified: > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java > > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1662014&r1=1662013&r2=1662014&view=diff > > > ============================================================================== > > --- > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java > (original) > > +++ > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java > Tue Feb 24 16:44:05 2015 > > @@ -137,7 +137,11 @@ public class WsHttpUpgradeHandler implem > > > wsRemoteEndpointServer.setTransformation(wsFrame.getTransformation()); > > ep.onOpen(wsSession, endpointConfig); > > webSocketContainer.registerSession(ep, wsSession); > > - sis.setReadListener(new WsReadListener(this, wsFrame)); > > + try { > > + sis.setReadListener(new WsReadListener(this, wsFrame)); > > + } catch (IllegalStateException e) { > > + // It is not impossible that the stream is already > closed during onOpen > > + } > > Do you think it would it be useful to add a trace-level log in the catch > branch, for debugging? > Some user code is run before that, so a lot of things can happen and since this code is inside the container, it looks fine to me. Rémy