eclipse-ee4j / grizzly

Grizzly
https://eclipse-ee4j.github.io/grizzly
Other
147 stars 69 forks source link

SSLBaseFilter 100% CPU caused by handshake status being stuck at NEED_WRAP in doHandshakeStep() #2148

Closed parg closed 1 year ago

parg commented 2 years ago

I am seeing this issue quite regularly with my application. I don't know the exact cause but as the title says I am seeing things get stuck in the "while" loop in doHandshakeStep() (for millions of loops, not something trivial).

When I traced into the getHandShakeStatus() call in NEED_WRAP it is hitting this code path

} else if (!isOutboundClosed() && isInboundClosed()) {
    // Special case that the inbound was closed, but outbound open.
    return HandshakeStatus.NEED_WRAP;
}