Bug 1300429

Summary: [GSS](6.4.z) APR connector crashes after JBoss reload
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Aaron Ogburn <aogburn>
Component: WebAssignee: Rémy Maucherat <rmaucher>
Status: CLOSED CANTFIX QA Contact: Radim Hatlapatka <rhatlapa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4.6CC: cdewolf, chaowan, ppenicka, rhatlapa, rmaucher, rstancel, vtunka
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-20 14:07:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Aaron Ogburn 2016-01-20 19:08:38 UTC
The APR connector can crash after a CLI reload.  The AprEndpoint destroys the APR serversock pool when it is stopped by the reload, but it doesn't specifically tear down every keepalive connection. Thus prior keepalive connections get to last across the reload in a likely bad state, allowing for a crash when those old connections are reused after the reload. In a conventional shutdown, the lack of that clean up isn't generally concerning since JBoss stops then anyway. But the reload can allow for unaccounted for issues.

Comment 1 Aaron Ogburn 2016-01-20 19:28:17 UTC
Examples of the crash points seen after a reload:

Stack: [0x00007f9055d44000,0x00007f9055e45000],  sp=0x00007f9055e43748,  free space=1021k
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.apache.tomcat.jni.Socket.sendb(JLjava/nio/ByteBuffer;II)I+0
j  org.apache.coyote.ajp.AjpAprProcessor.process(J)Lorg/apache/tomcat/util/net/AprEndpoint$Handler$SocketState;+123
j  org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(J)Lorg/apache/tomcat/util/net/AprEndpoint$Handler$SocketState;+22
j  org.apache.tomcat.util.net.AprEndpoint$Worker.run()V+167
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.apache.tomcat.jni.Socket.recvbb(JII)I+0
j  org.apache.coyote.ajp.AjpAprProcessor.readt(IZ)Z+112
j  org.apache.coyote.ajp.AjpAprProcessor.readMessage(Lorg/apache/coyote/ajp/AjpMessage;ZZ)Z+14
j  org.apache.coyote.ajp.AjpAprProcessor.process(J)Lorg/apache/tomcat/util/net/AprEndpoint$Handler$SocketState;+73
j  org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(J)Lorg/apache/tomcat/util/net/AprEndpoint$Handler$SocketState;+22
j  org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run()V+76

Comment 11 Petr Penicka 2017-02-20 14:07:51 UTC
Triage Feb 20: closed as can't fix.