Bug 1103121
Summary: | NPE in WsContextListener during server shutdown (or during the websockets up undeployment) | ||
---|---|---|---|
Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Radim Hatlapatka <rhatlapa> |
Component: | Web | Assignee: | Rémy Maucherat <rmaucher> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Michael Cada <mcada> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.3.0 | CC: | pslavice |
Target Milestone: | DR11 | ||
Target Release: | EAP 6.4.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | Type: | Bug | |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1157438 |
Description
Radim Hatlapatka
2014-05-30 10:22:49 UTC
Here is relevant part of server.log (for NIO2 connector): Error during blocking read: java.util.concurrent.ExecutionException: java.io.IOException: Connection reset by peer at sun.nio.ch.PendingFuture.get(PendingFuture.java:202) [rt.jar:1.7.0_51] at org.apache.tomcat.util.net.NioChannel.readBytes(NioChannel.java:597) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.http11.InternalNioInputBuffer.fill0(InternalNioInputBuffer.java:458) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.http11.InternalNioInputBuffer.fill(InternalNioInputBuffer.java:425) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.http11.InternalNioInputBuffer.parseRequestLine(InternalNioInputBuffer.java:290) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:288) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:911) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:932) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51] Caused by: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) [rt.jar:1.7.0_51] at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) [rt.jar:1.7.0_51] at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) [rt.jar:1.7.0_51] at sun.nio.ch.IOUtil.read(IOUtil.java:192) [rt.jar:1.7.0_51] at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishRead(UnixAsynchronousSocketChannelImpl.java:387) [rt.jar:1.7.0_51] at sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:191) [rt.jar:1.7.0_51] at sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213) [rt.jar:1.7.0_51] at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:293) [rt.jar:1.7.0_51] ... 1 more 13:20:37,840 DEBUG [org.apache.coyote.http11] (ServerService Thread Pool -- 55) JBWEB003065: Error during non blocking write: java.nio.channels.ShutdownChannelGroupException at sun.nio.ch.Invoker.invokeIndirectly(Invoker.java:210) [rt.jar:1.7.0_51] at sun.nio.ch.Invoker.invoke(Invoker.java:176) [rt.jar:1.7.0_51] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:368) [rt.jar:1.7.0_51] at sun.nio.ch.AsynchronousSocketChannelImpl.write(AsynchronousSocketChannelImpl.java:398) [rt.jar:1.7.0_51] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:969) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.http11.InternalNioOutputBuffer$OutputBufferImpl.doWrite(InternalNioOutputBuffer.java:826) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.http11.InternalNioOutputBuffer.doWrite(InternalNioOutputBuffer.java:340) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.coyote.Response.doWrite(Response.java:594) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:421) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:450) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:365) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:339) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:99) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossible(WsRemoteEndpointImplServer.java:109) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:74) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:388) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEndpointImplBase.java:284) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:228) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:494) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:410) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.close(WsSession.java:386) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsWebSocketContainer.destroy(WsWebSocketContainer.java:765) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsServerContainer.destroy(WsServerContainer.java:297) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsContextListener.contextDestroyed(WsContextListener.java:48) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3427) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3920) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.jboss.as.web.deployment.WebDeploymentService.doStop(WebDeploymentService.java:176) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at org.jboss.as.web.deployment.WebDeploymentService.access$100(WebDeploymentService.java:59) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at org.jboss.as.web.deployment.WebDeploymentService$2.run(WebDeploymentService.java:114) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51] at org.jboss.threads.JBossThread.run(JBossThread.java:122) 13:20:41,998 DEBUG [org.apache.catalina.session] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Start expire sessions StandardManager at 1401448841998 sessioncount 0 13:20:41,999 DEBUG [org.apache.catalina.session] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) End expire sessions StandardManager processingTime 1 expired sessions: 0 13:20:57,849 DEBUG [org.apache.tomcat.websocket] (ServerService Thread Pool -- 55) JBWEB008803: Failed to send close message to remote endpoint: java.io.IOException: java.util.concurrent.TimeoutException at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:243) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:494) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:410) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.close(WsSession.java:386) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsWebSocketContainer.destroy(WsWebSocketContainer.java:765) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsServerContainer.destroy(WsServerContainer.java:297) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsContextListener.contextDestroyed(WsContextListener.java:48) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3427) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3920) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.jboss.as.web.deployment.WebDeploymentService.doStop(WebDeploymentService.java:176) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at org.jboss.as.web.deployment.WebDeploymentService.access$100(WebDeploymentService.java:59) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at org.jboss.as.web.deployment.WebDeploymentService$2.run(WebDeploymentService.java:114) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51] at org.jboss.threads.JBossThread.run(JBossThread.java:122) Caused by: java.util.concurrent.TimeoutException at org.apache.tomcat.websocket.FutureToSendHandler.get(FutureToSendHandler.java:115) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:233) [jbossweb-7.4.4.Final.jar:7.4.4.Final] ... 17 more 13:20:57,876 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jboss-as-autobahn]] (ServerService Thread Pool -- 55) JBWEB000306: Exception sending context destroyed event to listener instance of class org.apache.tomcat.websocket.server.WsContextListener: java.lang.NullPointerException at org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStream.java:105) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doClose(WsRemoteEndpointImplServer.java:144) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.close(WsRemoteEndpointImplBase.java:589) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:500) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:410) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsSession.close(WsSession.java:386) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.WsWebSocketContainer.destroy(WsWebSocketContainer.java:765) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsServerContainer.destroy(WsServerContainer.java:297) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.tomcat.websocket.server.WsContextListener.contextDestroyed(WsContextListener.java:48) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3427) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.apache.catalina.core.StandardContext.stop(StandardContext.java:3920) [jbossweb-7.4.4.Final.jar:7.4.4.Final] at org.jboss.as.web.deployment.WebDeploymentService.doStop(WebDeploymentService.java:176) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at org.jboss.as.web.deployment.WebDeploymentService.access$100(WebDeploymentService.java:59) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at org.jboss.as.web.deployment.WebDeploymentService$2.run(WebDeploymentService.java:114) [jboss-as-web-7.4.0.Final-redhat-SNAPSHOT.jar:7.4.0.Final-redhat-SNAPSHOT] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51] at org.jboss.threads.JBossThread.run(JBossThread.java:122) Still valid for EAP 6.3.0.ER10. This issue can be also reproduced during redeployment in about 50 % cases using [1] [1] https://github.com/arun-gupta/jboss-samples/tree/master/eap63/websocket-binary Should be fixed by 7.5.0.Beta5 upgrade 1157438 Verified in EAP 6.4.0.DR11 |