[ 
https://issues.apache.org/jira/browse/TS-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14198116#comment-14198116
 ] 

Nick Kew commented on TS-1007:
------------------------------


Bah, can't log in to Jira.  As usual.

It is a complex workaround.  Keep a txn count on the ssn,
and if txn count > 0 on ssn_close event, just mark it as closing
and actually run cleanups it on the last txn_close.  And don't
use ssn mutex, because the ssn_close kills it!

We now have the workaround, so I'd forgotten about this bug.
So I guess it's not actually critical here.

-- 
Nick Kew



> 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: Sudheer Vinukonda
>            Priority: Critical
>             Fix For: 5.3.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)

Reply via email to