brbzull0 commented on PR #13897: URL: https://github.com/apache/trafficserver/pull/13897#issuecomment-6413318502
Thanks, that was it. The probe and the live connection in that test gave their reservations back with `TxnState::clear()`, which never takes a group out of the table, so an empty group for the test's address was still in `_outbound_table` at exit. 06b6abc1e1 holds the test's reservations in a small guard that gives them back through `Group::release()`, which removes the group when its count reaches zero, also when a `REQUIRE` ends the case early. Each case that creates a group now checks that the outbound table holds as many groups at its end as at its start. With the old cleanup that check fails (`1 == 0`), so a leftover shows up without ASAN. With ASAN on macOS, d8847a0d91 reproduces the same use-after-free at exit (`~TableSingleton()` → `~Group()` → `Gauge::decrement`, on memory freed by `Metrics::Storage::~Storage()`). With 06b6abc1e1, `test_http` runs with no ASAN errors. -- 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]
