shinrich commented on issue #6799:
URL: https://github.com/apache/trafficserver/issues/6799#issuecomment-630404876


   I think that this is probably due to 
https://github.com/apache/trafficserver/pull/6732.  That PR attempts to replace 
do_io_write(nullptr, 0, nullptr) calls with do_io_write(obj, 0, nullptr) calls, 
so that connection shutdowns, failures, and timeouts get delivered to the 
HttpSM or the ClientSession so the object has a chance to clean out references 
to the shutting down client_vc.
   
   However, it looks like in the Http2Stream logic, when write_ready occurs on 
the socket, an outstanding do_io_write of 0 will get reinterpretted as a 
WRITE_COMPLETE, which will trigger the assert in state_watch_for_client_abort.
   
   We could change the logic in Http2Stream to issue no write event in the 
vio.nbytes was 0.  Need to look and see if this is an issue for Http1 as well.
   
   In talking with @a-canary and @SolidWallOfCode, we would like to make more 
explicit do_io statements to indicate to only callback the continuation if the 
netvc is shutting down. 
   
   I'll update the ATS9 version of this PR with the WRITE_COMPLETE change so 
you can test on docs.


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

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


Reply via email to