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]
