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

Leif Hedstrom commented on TS-1094:
-----------------------------------

Cool, I'll test this in a bit. Question: Do we still need that second change 
from TS-466, we reorders the call to mime_scanner_append() ?
                
> TS hangs after repeated requests from the same kept-alive connection
> --------------------------------------------------------------------
>
>                 Key: TS-1094
>                 URL: https://issues.apache.org/jira/browse/TS-1094
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.1.0
>         Environment: Oracle Enterprise Linux 5.5 64-bit
>            Reporter: Wilson Ho
>            Assignee: Leif Hedstrom
>            Priority: Blocker
>             Fix For: 3.1.2
>
>         Attachments: ts-1094.diff
>
>
> When a client submits multiple requests while re-using the same keep-alived 
> connection, TS hangs.  Usually, the client eventually times out, and at that 
> point TS will be "waken" up and forwards the request to the original server.  
> But by then it's too late and the client already closed connection.
> In real life traffic, this bug is very hard to reproduce.  But here is an 
> artificial test case.
> First, make sure client-side keep alive is on.  My test case uses HTTP (port 
> 80) GET.
> Second, make sure the total header size of the requests is exactly 275 bytes, 
> including the carriage returns and line feeds.  One byte more or less would 
> fail to reproduce the bug.
> Third, repeatedly submit the same request through this keep-alived 
> connection.  At exactly the 283rd iteration, TS hangs.  Note that if the 
> client opens a new connection every time, TS works fine.
> There is a second test case, where the header size is exactly 283 bytes, and 
> TS hangs at exactly the 275th iteration.  (Does 275 x 283 mean something?)
> These magic numbers seem to suggest a memory buffer size (or allocation) 
> problem.  I speculate that headers from repeated requests are placed in a 
> buffer (or a circular buffer?), and when the total hits a particular size, 
> some boundary conditions must have be violated and resulted in memory 
> corruption.
> In real life traffic, each request typically has slightly different header 
> size, so it is really hard to hit this bug.  I suspect there is a +/- 1 
> calculation error in some buffer.
> BTW, turning on/off caching does not make any difference.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to