[ 
https://issues.apache.org/jira/browse/TS-3743?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sam Baskinger updated TS-3743:
------------------------------
    Description: 
One of the tests done on the IronBee plugin for TrafficServer is to send a 
OWASP Zap scan through the proxy at a DokuWiki server. When this was done a 
repeatable but seemingly sporadic crash was observed when IronBee would request 
that a block page be delivered to the client.

The crash was always in {{HttpTunnel::producer_run (this=this@entry=0xaf6021c8, 
p=p@entry=0xaf6022f8)}} and in all cases {{c->vc}} was invalid.

Our investigations correlated the crash with HttpSM's {{ua_session->m_active}} 
being false. More specifically we think that 
{{Http::SM::setup_internal_transfer()}} starts with {{ua_session->m_active}} as 
true and then closes it (setting {{ua_session->m_active}} to false) before 
{{tunnel.tunnel_run(p)}} is called at the end of the function.

Please refer to two attachments. The first is a copy of the stack trace we've 
been working off of. Every crash has a remarkably similar call stack. The 
second attachment is a patch that is working in our labs.

This also appears in the TrafficServer 4.x series, and the same patch fixes our 
problems.


  was:
One of the tests done on the IronBee plugin for TrafficServer is to send a 
OWASP Zap scan through the proxy at a DokuWiki server. When this was done a 
repeatable but seemingly sporadic crash was observed when IronBee would request 
that a block page be delivered to the client.

The crash was always in {{HttpTunnel::producer_run (this=this@entry=0xaf6021c8, 
p=p@entry=0xaf6022f8)}} and in all cases {{c->vc}} was invalid.

Our investigations correlated the crash with HttpSM's {{ua_session->m_active}} 
being false. More specifically we think that 
{{Http::SM::setup_internal_transfer()}} starts with {{ua_session->m_active}} as 
true and then closes it when it reaches the call to {{tunnel.tunnel_run(p)}}.

Please refer to two attachments. The first is a copy of the stack trace we've 
been working off of. Every crash has a remarkably similar call stack. The 
second attachment is a patch that is working in our labs.

This also appears in the TrafficServer 4.x series, and the same patch fixes our 
problems.



> Crash Under Heavy Load and Sending Plugin Error Page
> ----------------------------------------------------
>
>                 Key: TS-3743
>                 URL: https://issues.apache.org/jira/browse/TS-3743
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Sam Baskinger
>         Attachments: TS-3743.patch, stacktrace.txt
>
>
> One of the tests done on the IronBee plugin for TrafficServer is to send a 
> OWASP Zap scan through the proxy at a DokuWiki server. When this was done a 
> repeatable but seemingly sporadic crash was observed when IronBee would 
> request that a block page be delivered to the client.
> The crash was always in {{HttpTunnel::producer_run 
> (this=this@entry=0xaf6021c8, p=p@entry=0xaf6022f8)}} and in all cases 
> {{c->vc}} was invalid.
> Our investigations correlated the crash with HttpSM's 
> {{ua_session->m_active}} being false. More specifically we think that 
> {{Http::SM::setup_internal_transfer()}} starts with {{ua_session->m_active}} 
> as true and then closes it (setting {{ua_session->m_active}} to false) before 
> {{tunnel.tunnel_run(p)}} is called at the end of the function.
> Please refer to two attachments. The first is a copy of the stack trace we've 
> been working off of. Every crash has a remarkably similar call stack. The 
> second attachment is a patch that is working in our labs.
> This also appears in the TrafficServer 4.x series, and the same patch fixes 
> our problems.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to