JosiahWI commented on issue #11700:
URL: 
https://github.com/apache/trafficserver/issues/11700#issuecomment-2293459625

   I've studied the code and written an AuTest to attempt a reproduction (not 
successful yet).
   
   ## Investigation
   
   - We do, at some point prior to deciding to execute the write, open a cache 
write connection. This is because it's not possible to have a 
`CACHE_WL_SUCCESS` state unless that happens, and that is the precondition for 
deciding to do a write instead of open a new connection when a redirected 
request gets a response.
   - As @bryancall discovered, the connection we opened has vanished when we 
attempt the write. There are two places where we set the `cache_write_vc` to 
nullptr because we moved ownership to another object, and one where we 
initialize it and it could become `nullptr` if that's what it was initialized 
with.
   
   ## Reproduction Ideas
   
   It's not particularly straightforward to reproduce given what we know so 
far. My first attempt was to force a redirection using the escalate plugin. 
This mirrors how we think the crash we observed starts. The escalate plugin 
overrides all the redirection configuration, and I wanted to make sure the 
timing of the state change on the plugin's hook wasn't the cause of the issue. 
There were no issues with this setup and it works exactly as expected.
   
   My conclusion from all this is that something special needs to happen during 
the redirection, interfering with it and getting rid of the cache write VC 
while the redirection request or response is being processed. In the crash 
we're seeing this is very likely initiated by another plugin on one of the 
request hooks. I suspect this may also be timing dependent.


-- 
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