JakeChampion commented on issue #12244:
URL: 
https://github.com/apache/trafficserver/issues/12244#issuecomment-2956039572

   In case it is helpful to know, when using gdb and go to the frame for 
`HttpTunnel::producer_run at HttpTunnel.cc:991` we can see that the 
`c->buffer_reader` has an empty first block and that the second block contains 
the full response body:
   ```
   (gdb) p c->buffer_reader.block.m_ptr._end - 
c->buffer_reader.block.m_ptr._start
   $32 = 0
   (gdb) p c->buffer_reader.block.m_ptr.next.m_ptr._end - 
c->buffer_reader.block.m_ptr.next.m_ptr._start
   $33 = 67
   ```
   
   `c->vc_type` is set to `HT_CACHE_WRITE` and `p->chunking_action` set to 
`TCA_PASSTHRU_DECHUNKED_CONTENT` and `sm->t_state.range_setup` is set to 
`HttpTransact::RANGE_REQUESTED` and `p c->name` "cache write", which means that 
the `skip_bytes` was set by this function call in HttpSM.cc:6316 :
   
   ```
   setup_cache_write_transfer(&cache_sm, server_entry->vc, 
&t_state.cache_info.object_store, client_response_hdr_bytes,
                                    "cache write");
   ```
   
   Is the first block meant to contain something like the response headers by 
any chance?
   
   We think the issue has something to do with the user-agent making the 
incoming client request, cancelling their request before recieving a response, 
potentially there is some race condition being hit somewhere in ats


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to