[
https://issues.apache.org/jira/browse/TS-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14625511#comment-14625511
]
ASF GitHub Bot commented on TS-1007:
------------------------------------
Github user sudheerv commented on a diff in the pull request:
https://github.com/apache/trafficserver/pull/249#discussion_r34520227
--- 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 --
Not what I see for non-VC errors (in fact, there really is no reason to
close the connection on non-VC errors).
For example,
https://github.com/apache/trafficserver/blob/master/proxy/http/HttpSM.cc#L1424
> 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)