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]
