bryancall commented on issue #9969: URL: https://github.com/apache/trafficserver/issues/9969#issuecomment-4828019738
The signal 6 crash here (Fatal: MIME.cc:622: failed assertion `slot_num == slot_index`, reached through mime_hdr_field_detach and merge_response_header_with_cached_header during a cache revalidation of an object whose origin sends duplicate headers) was a known bug in the cached-header merge path. In Traffic Server 9.2.0 that merge loop deleted MIME header fields by pointer while it was still iterating over them, which corrupted the field slot indexing and tripped the sanity-check assertion that aborts the process. The reproduction you described, repeatedly revalidating a short-lived m3u8 playlist whose Nginx origin returns duplicate response headers, matches that path exactly. This was fixed by https://github.com/apache/trafficserver/pull/9527, which rewrote the loop to delete fields by name instead of by pointer. The fix first shipped upstream in the 10.0.0 release (per the pull request milestone), and it was also backported to the 9.2.x line and shipped in 9.2.1. Your reports were on 9.2.0, which predates the fix. I am closing this as fixed. If you can still reproduce a crash on 9.2.1 or later, or on the current 10.x line, please open a new issue with the version and a fresh crash log and we will take another look. -- 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]
