UT000091: Buffer has already been freed

Solution Unverified - Updated -

Issue

  • We sometimes see the following UT000091 error and it seems like it relates to a socket processed by multiple I/O threads at once from what we can see with debug SSL logging enabled:
2019-04-11 11:53:19,514 INFO  [stdout] (default I/O-1) default I/O-1, called closeInbound()
2019-04-11 11:53:19,514 INFO  [stdout] (default I/O-1) default I/O-1, fatal error: 80: Inbound closed before receiving peer's close_notify: possible truncation attack?
2019-04-11 11:53:19,514 INFO  [stdout] (default I/O-1) javax.net.ssl.SSLException: Inbound closed before receiving peer's close_notify: possible truncation attack?
2019-04-11 11:53:19,515 INFO  [stdout] (default I/O-1) %% Invalidated:  [Session-713, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
2019-04-11 11:53:19,515 ERROR [org.xnio.nio] (default I/O-2) XNIO000011: Task io.undertow.protocols.ssl.SslConduit$2@2d1e148d failed with an exception: java.lang.IllegalStateException: UT000091: Buffer has already been freed
    at io.undertow.server.DefaultByteBufferPool$DefaultPooledBuffer.getBuffer(DefaultByteBufferPool.java:258)
    at io.undertow.protocols.ssl.SslConduit.doUnwrap(SslConduit.java:756)
    at io.undertow.protocols.ssl.SslConduit.doHandshake(SslConduit.java:648)
    at io.undertow.protocols.ssl.SslConduit.access$900(SslConduit.java:63)
    at io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1100)
    at io.undertow.protocols.ssl.SslConduit$1.run(SslConduit.java:168)
    at io.undertow.protocols.ssl.SslConduit$2.run(SslConduit.java:183)
    at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
    at org.xnio.nio.WorkerThread.run(WorkerThread.java:479)

Environment

  • JBoss Enterprise Application Platform (EAP) 7.2.0 and earlier

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content