[ https://issues.apache.org/jira/browse/TS-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14625461#comment-14625461 ]
ASF GitHub Bot commented on TS-1007: ------------------------------------ Github user shinrich commented on a diff in the pull request: https://github.com/apache/trafficserver/pull/249#discussion_r34518050 --- Diff: proxy/http/HttpSM.cc --- @@ -6560,6 +6559,12 @@ HttpSM::kill_this() reentrancy_count--; ink_release_assert(reentrancy_count == 0); + // Delay the close of the user agent session, so the close session + // occurs after the close transaction + if (ua_session != NULL) --- End diff -- The existing code is pretty eager to do_io_close() on the VC in error cases anyway. > SSN Close called before TXN Close > --------------------------------- > > Key: TS-1007 > URL: https://issues.apache.org/jira/browse/TS-1007 > Project: Traffic Server > Issue Type: Bug > Components: TS API > Affects Versions: 3.0.1 > Reporter: Nick Kew > Assignee: Susan Hinrichs > Labels: incompatible > Fix For: 6.0.0 > > > 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! -- This message was sent by Atlassian JIRA (v6.3.4#6332)