[ 
https://issues.apache.org/jira/browse/TS-1162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13237435#comment-13237435
 ] 

James Peach commented on TS-1162:
---------------------------------

But this doesn't make sense; reenable() handles the case where we are not 
holding the log, but it calls set_enabled() which requires the calling thread 
to be holding the lock ....

void
UnixNetVConnection::set_enabled(VIO *vio)
{
  ink_debug_assert(vio->mutex->thread_holding == this_ethread());
  ...
}

void
UnixNetVConnection::reenable(VIO *vio)
{
  if (STATE_FROM_VIO(vio)->enabled)
    return;
  set_enabled(vio);
  if (!thread)
    return;
  EThread *t = vio->mutex->thread_holding;
  ink_debug_assert(t == this_ethread());
  ink_debug_assert(!closed);
  if (nh->mutex->thread_holding == t) {
    ...
  } else {
    MUTEX_TRY_LOCK(lock, nh->mutex, t);
    ...
  }
}
                
> UnixNetVConnection.cc assertion when accepting a TLS connection
> ---------------------------------------------------------------
>
>                 Key: TS-1162
>                 URL: https://issues.apache.org/jira/browse/TS-1162
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.1.4
>            Reporter: James Peach
>             Fix For: 3.1.4
>
>
> Trunk always crashes when accepting a TLS connection:
> FATAL: UnixNetVConnection.cc:801: failed assert `vio->mutex->thread_holding 
> == this_ethread()`
> /opt/ats/bin/traffic_server - STACK TRACE: 
> 0   libtsutil.3.dylib                   0x000000010c3e7ee7 ink_fatal + 359
> 1   libtsutil.3.dylib                   0x000000010c3e6e22 _ink_assert + 66
> 2   traffic_server                      0x000000010b9e6d9a 
> _ZN18UnixNetVConnection11set_enabledEP3VIO + 90
> 3   traffic_server                      0x000000010b9e681d 
> _ZN18UnixNetVConnection8reenableEP3VIO + 93
> 4   traffic_server                      0x000000010b7bfcd6 _ZN3VIO8reenableEv 
> + 54
> 5   traffic_server                      0x000000010b9e5cd9 
> _ZN18UnixNetVConnection10do_io_readEP12ContinuationxP9MIOBuffer + 297
> 6   traffic_server                      0x000000010b792611 
> _ZN11VConnection5do_ioEiP12ContinuationxP9MIOBufferi + 129
> 7   traffic_server                      0x000000010b9d6da9 
> _ZN21SSLNextProtocolAccept9mainEventEiPv + 329
> 8   traffic_server                      0x000000010b792229 
> _ZN12Continuation11handleEventEiPv + 121
> 9   traffic_server                      0x000000010b9e89bd 
> _ZN18UnixNetVConnection11acceptEventEiP5Event + 829
> 10  traffic_server                      0x000000010b792229 
> _ZN12Continuation11handleEventEiPv + 121
> 11  traffic_server                      0x000000010ba0905d 
> _ZN7EThread13process_eventEP5Eventi + 349
> 12  traffic_server                      0x000000010ba09367 
> _ZN7EThread7executeEv + 215
> 13  traffic_server                      0x000000010ba080ed 
> _ZL21spawn_thread_internalPv + 109
> 14  libsystem_c.dylib                   0x00007fff8fcb78bf _pthread_start + 
> 335
> 15  libsystem_c.dylib                   0x00007fff8fcbab75 thread_start + 13
> [Mar 22 21:58:45.009] Manager {0x7fff79b01960} ERROR: 
> [LocalManager::pollMgmtProcessServer] Server Process terminated due to Sig 6: 
> Abort trap: 6

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to