masaori335 opened a new pull request, #11961:
URL: https://github.com/apache/trafficserver/pull/11961

   We faced a crash in `PluginVC::process_write_side()` with ATS 10.0.2. The 
stack trace is below.
   ```
   /lib64/libc.so.6(+0x3e6f0)[0x7f3945a3e6f0]
   
/opt/bin/traffic_server(_ZN8PluginVC18process_write_sideEv+0xe9)[0x562d1e9d90a9]
   /opt/bin/traffic_server(_ZN8PluginVC12main_handlerEiPv+0x373)[0x562d1e9d8153]
   
/opt/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x375)[0x562d1ea982f5]
   
/opt/bin/traffic_server(_ZN7EThread13process_queueEP5QueueI5EventNS1_9Link_linkEEPiS5_+0x57)[0x562d1ea985a7]
   /opt/bin/traffic_server(_ZN7EThread15execute_regularEv+0x1a9)[0x562d1ea98c19]
   /opt/bin/traffic_server(_ZN7EThread7executeEv+0x178)[0x562d1ea99648]
   /opt/bin/traffic_server(+0x5230d7)[0x562d1ea970d7]
   /lib64/libc.so.6(+0x89c02)[0x7f3945a89c02]
   /lib64/libc.so.6(+0x10ec40)[0x7f3945b0ec40]
   ```
   
   We found that the `PluginVC::write_state` is in odd state by somehow.
   ```
   (gdb) frame 1
   #1  PluginVC::process_write_side (this=0x7f64258b0268) at 
/src/proxy/PluginVC.cc:497
   497      int64_t         bytes_avail = reader->read_avail();
   (gdb) p reader
   $7 = (IOBufferReader *) 0x0
   (gdb) p write_state
   $8 = {vio = {cont = 0x0, nbytes = 9223372036854775807, ndone = 0, op = 2, 
_disabled = false, buffer = {mbuf = 0x0, entry = 0x0}, vc_server = 
0x7f64258b0268, mutex = {m_ptr = 0x7f6754ab6bd0}}, shutdown = false}
   ```
   
   A wild idea is some plugin accidentally called `TSVConnWrite` API with 
`nullptr` like this, `TSVConnWrite(X, nullptr, nullptr, INT64_MAX)`, but still 
not sure.
   
   Anyway, we need `nullptr` checks in `PluginVC::process_write_side()`. Also, 
adding a similar check in `PluginVC::process_read_side()` for just in case.


-- 
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: github-unsubscr...@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to