You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@trafficserver.apache.org by GitBox <gi...@apache.org> on 2020/08/14 13:15:18 UTC

[GitHub] [trafficserver] sudheerv commented on a change in pull request #7097: Reset stale read.triggered when migrating thread contexts

sudheerv commented on a change in pull request #7097:
URL: https://github.com/apache/trafficserver/pull/7097#discussion_r470616280



##########
File path: iocore/net/UnixNetVConnection.cc
##########
@@ -1188,6 +1188,9 @@ UnixNetVConnection::populate(Connection &con_in, Continuation *c, void *arg)
     return EVENT_ERROR;
   }
 
+  // reset stale read triggered on keep alive connection to prevent getting into read ready list
+  this->read.triggered = 0;

Review comment:
       Yeah, the problem is not on the new `SSLNetVC`. There's a race condition between thread A trying to migrate the VC from thread B, while thread B is doing all sorts of I/O, inactivity cop audit etc on the same VC in parallel. 
   
   You are right that the read.triggered didn't really solve the crashes. The crashes returned after a few hours. I needed to guard with the VC's mutex on the new thread for the migrating VC to avoid the corruption. Will update the PR with the patch we've been running in a couple of days.




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

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