bryancall commented on issue #6560:
URL: https://github.com/apache/trafficserver/issues/6560#issuecomment-4827338628

   This is working as designed rather than a bug in Apache Traffic Server. 
TSHttpTxnClientRespGet returns TS_ERROR when there is no valid client response 
header for the transaction, and in your crash backtrace the transaction is 
being torn down (HttpSM::kill_this during attach_client_session) before any 
response was ever generated, so there is no client response to fetch in the 
TS_HTTP_TXN_CLOSE hook. The crash itself comes from the plugin: TSAssert is 
compiled out in an optimized build, so the TS_ERROR return is ignored and 
TSHttpHdrStatusGet is then called on an uninitialized buffer, which triggers 
the sdk_sanity_check_mbuffer release assertion. The fix is in the plugin: check 
the return code of TSHttpTxnClientRespGet and skip the status lookup when it 
returns TS_ERROR, instead of asserting success. I confirmed the current source 
still behaves this way (src/api/InkAPI.cc returns TS_ERROR when the client 
response header is not valid), so this is the intended contract and not somethi
 ng to change in the server. This report is also against 7.1.8, which is long 
past end-of-life. Closing as not a bug, please reopen with a plugin that checks 
the return code if you still see an issue on a supported release.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to