Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.1
Description
Where a plugin implements both SSN_CLOSE_HOOK and TXN_CLOSE_HOOK, the SSN_CLOSE_HOOK is called first of the two. This messes up normal cleanups!
Details:
Register a SSN_START event globally
In the SSN START, add a TXN_START and a SSN_CLOSE
In the TXN START, add a TXN_CLOSE
Stepping through, I see the order of events actually called, for the simple case of a one-off HTTP request with no keepalive:
SSN_START
TXN_START
SSN_END
TXN_END
Whoops, SSN_END cleaned up the SSN context, leaving dangling pointers in the TXN!
Attachments
Issue Links
- breaks
-
TS-3804 ASAN heap-use-after-free in HttpClientSession::destroy
- Resolved
-
TS-3805 ASAN heap-use-after-free in ProxyClientSession::ssn_hook_get
- Closed
- is related to
-
TS-4507 It is still possible for SSN_CLOSE hook to be called before TXN_CLOSE hook
- Closed
- relates to
-
TS-3612 Restructure Proxy Client Sessions to support transaction oriented Sessions execute transaction hooks and connection oriented Sessions execute session hooks
- Closed