Describe the bug
HTTP/2's multiplexing allows concurrent read operations on the same TCP connection. The NPE occurs due to a race condition in concurrent buffer management during HTTP/2 operations.
Thread A gets buffer reference to do a TCP read
Thread B concurrently executes cleanup logic when an immediate read returns 0 bytes and releases JIT-allocated buffers
Thread A proceeds to do a read with stale reference, causing NPE
Steps to Reproduce
The bug happens intermittently in Http/2 connection and it difficult to reproduce reliably
Expected behavior
TCP Channel should handle the inconsistent state of the buffer
Diagnostic information:
- OpenLiberty Version: 26.0.0.2