bneradt commented on code in PR #13093:
URL: https://github.com/apache/trafficserver/pull/13093#discussion_r3105924300


##########
src/proxy/http3/Http3Transaction.cc:
##########
@@ -353,15 +353,17 @@ HQTransaction::_close_write_complete_event(Event *e)
 }
 
 void
-HQTransaction::_signal_event(int event, Event *edata)
+HQTransaction::_signal_event(int event, Event * /* edata ATS_UNUSED */)
 {
+  // HttpSM::main_handler expects a VIO* as the event data for VC events so it
+  // can locate the vc_table entry.
   if (this->_write_vio.cont) {
     SCOPED_MUTEX_LOCK(lock, this->_write_vio.mutex, this_ethread());
-    this->_write_vio.cont->handleEvent(event, edata);
+    this->_write_vio.cont->handleEvent(event, &this->_write_vio);
   }
   if (this->_read_vio.cont && this->_read_vio.cont != this->_write_vio.cont) {
     SCOPED_MUTEX_LOCK(lock, this->_read_vio.mutex, this_ethread());
-    this->_read_vio.cont->handleEvent(event, edata);
+    this->_read_vio.cont->handleEvent(event, &this->_read_vio);

Review Comment:
   If you look at 
[src/proxy/http2/Http2Stream.cc](https://github.com/apache/trafficserver/blob/12fdb0730899ce95d19f4ded25c408390b9faf9d/src/proxy/http2/Http2Stream.cc),
 everywhere where handleEvent is called, we pass a vio, not edata. This seems 
to confirm what Claude did here. And, as mentioned in the description, I no 
longer see these crashes anymore on docs with this change.



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