You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Phil Sorber (JIRA)" <ji...@apache.org> on 2016/11/02 17:17:59 UTC

[jira] [Commented] (TS-4717) Http2 stack explosion

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

Phil Sorber commented on TS-4717:
---------------------------------

Back port PR?

> Http2 stack explosion
> ---------------------
>
>                 Key: TS-4717
>                 URL: https://issues.apache.org/jira/browse/TS-4717
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP/2
>            Reporter: Susan Hinrichs
>            Assignee: Susan Hinrichs
>             Fix For: 7.0.0
>
>          Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> We see this periodically with high traffic loads.  ATS crashes with 7000+ frames on the stack.  The bulk of the frames are the following frame sequence.  
> {code}
> #117 0x00000000005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, event=100, data=0x2b0bad0c7cf0)
>     at ../iocore/eventsystem/I_Continuation.h:150
> #118 0x000000000064c05d in Http2ClientSession::state_start_frame_read (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
>     at Http2ClientSession.cc:451
> #119 0x000000000064b0af in Http2ClientSession::main_event_handler (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at Http2ClientSession.cc:292
> #120 0x00000000005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, event=100, data=0x2b0bad0c7cf0)
>     at ../iocore/eventsystem/I_Continuation.h:150
> #121 0x000000000064c386 in Http2ClientSession::state_complete_frame_read (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
>     at Http2ClientSession.cc:483
> #122 0x000000000064b0af in Http2ClientSession::main_event_handler (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0) at Http2ClientSession.cc:292
> #123 0x00000000005159c8 in Continuation::handleEvent (this=0x2b0bdd101b90, event=100, data=0x2b0bad0c7cf0)
>     at ../iocore/eventsystem/I_Continuation.h:150
> #124 0x000000000064c05d in Http2ClientSession::state_start_frame_read (this=0x2b0bdd101b90, event=100, edata=0x2b0bad0c7cf0)
>     at Http2ClientSession.cc:451
> {code}
> We had cherry picked in the fix for TS-4209 to correctly enforce the concurrent stream limit.  But in the latest crash of this type, it looks like we are pulling small items from cache, so the stream lives and dies on the stack.  The concurrent active connection count never reaches the limit.
> I am going to try to change the state_state_start_frame_read/state_complete_frame_read logic from recursing handlers to a loop.



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