Github user shinrich commented on the issue:

    https://github.com/apache/trafficserver/issues/1401
  
    I've finally got my environment running and I see the same stack very 
quickly as well.  In the cases I've seen it looks like there was a write error, 
but for some reason the write vio has been cleared out (or was never set?)
    
    ```
    (gdb) frame 2
    #2  0x0000000000788350 in write_to_net_io (nh=0x2af588003e60, 
vc=0x2aad1401b800, thread=0x2af588000010) at UnixNetVConnection.cc:440
    440 UnixNetVConnection.cc: No such file or directory.
        in UnixNetVConnection.cc
    (gdb) print *s
    $1 = {enabled = 0, error = 1, vio = {_cont = 0x0, nbytes = 0, ndone = 0, op 
= 0, buffer = {mbuf = 0x0, entry = 0x0}, vc_server = 0x0, mutex = {m_ptr = 
0x0}}, 
      ready_link = {<SLink<UnixNetVConnection>> = {next = 0x0}, prev = 0x0}, 
enable_link = {next = 0x0}, in_enabled_list = 0, triggered = 1}
    ```
    The write.error stuff was added by Thomas in TS-4796, but if this just 
showed up between 7.0 and 7.1, it is unlikely that this was the culprit.  I 
think it has been a while (since 9/3/2016).  
    
    Seems more likely that someone has cleared the vio, or we are bouncing an 
error.
    
    In the short term I'm adding a NULL check at the begining of 
write_to_net_io, but that just seems to be masking the failure case rather than 
identifying the root cause. 
    
    ```
    +  if (!s->vio.mutex) {
    +    ink_release_assert(s->vio._cont == NULL && vc->write.error);
    +    return;
    +  }
    ```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to