bneradt commented on PR #13621:
URL: https://github.com/apache/trafficserver/pull/13621#issuecomment-5545095376

   The rocky ASan job's LeakSanitizer failure is fixed in the force push just 
now. Both leaks were reached for the first time by the new encoder stream test:
   
   - `QPACK::on_stream_open()` allocated a `QUICStreamVCAdapter::IOInfo` with a 
bare `new` that nothing owned, and `on_stream_close()` was empty, so every 
stream open leaked 312 bytes. `Http3App`, `Http09App`, and `quic_client` all 
hold `IOInfo` by value in a `_streams` map; `QPACK` now does the same and 
erases the entry in `on_stream_close()`. This also makes teardown safer than 
the leak did, since `~QUICStreamVCAdapter()` cancels the adapter's pending 
events.
   - `TestQUICStream` leaked the `MockQUICConnectionInfoProvider` it passed to 
its base class. It owns that through a `unique_ptr` now, via a delegating 
constructor.
   
   Both were pre-existing: nothing called `QPACK::on_stream_open()` outside the 
QIF-driven tests, and those are skipped in CI because the `qifs` data is not 
present.
   
   Verified with a local ASan build (`-DENABLE_ASAN=ON`): `test_qpack` passes 
with no LeakSanitizer output, and reintroducing either allocation brings the 
corresponding report back.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to