bneradt opened a new pull request, #13093:
URL: https://github.com/apache/trafficserver/pull/13093
This fixes a crash where the assertion at HttpSM.cc:2761 fails:
ink_assert(jump_point != (HttpSMHandler) nullptr)
The crash occurs because HQTransaction::_signal_event() was passing an
Event* pointer instead of a VIO* to handleEvent(), and was signaling
both write and read VIOs. This caused two problems:
1. HttpSM::main_handler() expects a VIO* for VC events to look up the
vc_entry in the VC table. Passing Event* caused lookup failures.
2. During early request parsing, only vc_read_handler is set (not
vc_write_handler). When _signal_event signaled the write VIO first,
main_handler found the vc_entry but vc_write_handler was null.
This changes _signal_event to pass the read VIO pointer and only
signal the read VIO for connection-level events like EOS, ERROR, and
timeouts. This matches HTTP/2's behavior in Http2Stream where similar
events are signaled via the read VIO.
Fixes: #12112
--
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]