cmcfarlen commented on PR #13821: URL: https://github.com/apache/trafficserver/pull/13821#issuecomment-6420185640
@bryancall thanks again, especially for the runtime ASAN repro. **Blocker, nested `process_handoffs()` freeing a vc whose handler is on the stack:** fixed in 810b275e59. `process_handoffs()` now skips a connection with `recursion > 0`. It keeps the claim, so the unwind's own `free_netevent()` stays a no-op, and the next top-level drain frees it. This is the third option you listed. The queue managers still count every other claimed close, so the capacity fix is unchanged. The new test against a real `UnixNetVConnection` has a foreign thread close the vc from inside its read callback and then trigger the nested drain. Without the guard it crashes with SIGSEGV. The branch is also rebased onto master, and CI is green. The non-blocking notes (`NetDeadline::operator+=`, the relaxed loads of `closed`, a lock-retry counter, the two untested edges and the stale comments) aren't in this round. -- 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]
