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

John Plevyak commented on TS-2193:
----------------------------------

the code in dns_result will check to see that we only call back on the same 
thread that initiated the DNS lookup:

  if (h->mutex->thread_holding == e->submit_thread) {
    MUTEX_TRY_LOCK(lock, e->action.mutex, h->mutex->thread_holding);
    if (!lock) {
      Debug("dns", "failed lock for result %s", e->qname);
      goto Lretry;
    }
    for (int i = 0; i < MAX_DNS_RETRIES; i++) {
      if (e->id[i] < 0)
        break;
      h->release_query_id(e->id[i]);
    }
    e->postEvent(0, 0);
  } else {
    for (int i = 0; i < MAX_DNS_RETRIES; i++) {
      if (e->id[i] < 0)
        break;
      h->release_query_id(e->id[i]);
    }
    e->mutex = e->action.mutex;
    SET_CONTINUATION_HANDLER(e, &DNSEntry::postEvent);
    e->submit_thread->schedule_imm_signal(e);
  }

There are calls which will schedule on *ANY* event thread (e.g. 
eventProcessor.schedule_XX).  These could schedule (e.g. a timeout or other 
event) on the ET_DNS thread which perhaps isn't initialized for all the 
processors (e.g. sessions).

At one point I removed all calls to the non-specific thread schedule calls, but 
it is possible there are some how/still.
 
                
> Trafficserver 4.1 Crash with proxy.config.dns.dedicated_thread = 1
> ------------------------------------------------------------------
>
>                 Key: TS-2193
>                 URL: https://issues.apache.org/jira/browse/TS-2193
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: DNS
>    Affects Versions: 4.1.0
>            Reporter: Tommy Lee
>             Fix For: 4.1.0
>
>
> Hi all,
>   I've tried to enable DNS Thread without luck.
>   When i set proxy.config.dns.dedicated_thread to 1, it crashes with the 
> information below.
>   The ATS is working in Forward Proxy mode.
>   Thanks in advance.
> --------------------------------------
> traffic.out
> NOTE: Traffic Server received Sig 11: Segmentation fault
> /usr/local/cache-4.1/bin/traffic_server - STACK TRACE: 
> /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0)[0x2af714875cb0]
> /usr/local/cache-4.1/bin/traffic_server(_Z16_acquire_sessionP13SessionBucketPK8sockaddrR7INK_MD5P6HttpSM+0x52)[0x51dac2]
> /usr/local/cache-4.1/bin/traffic_server(_ZN18HttpSessionManager15acquire_sessionEP12ContinuationPK8sockaddrPKcP17HttpClientSessionP6HttpSM+0x3d1)[0x51e0f1]
> /usr/local/cache-4.1/bin/traffic_server(_ZN6HttpSM19do_http_server_openEb+0x30c)[0x53644c]
> /usr/local/cache-4.1/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x6a0)[0x537560]
> /usr/local/cache-4.1/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x57e)[0x53743e]
> /usr/local/cache-4.1/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x57e)[0x53743e]
> /usr/local/cache-4.1/bin/traffic_server(_ZN6HttpSM27state_hostdb_reverse_lookupEiPv+0xb9)[0x526b99]
> /usr/local/cache-4.1/bin/traffic_server(_ZN6HttpSM12main_handlerEiPv+0xd8)[0x531be8]
> /usr/local/cache-4.1/bin/traffic_server[0x5d7c8a]
> /usr/local/cache-4.1/bin/traffic_server(_ZN18HostDBContinuation8dnsEventEiP7HostEnt+0x821)[0x5decd1]
> /usr/local/cache-4.1/bin/traffic_server(_ZN8DNSEntry9postEventEiP5Event+0x44)[0x5f7a94]
> /usr/local/cache-4.1/bin/traffic_server[0x5fd382]
> /usr/local/cache-4.1/bin/traffic_server(_ZN10DNSHandler8recv_dnsEiP5Event+0x852)[0x5fee72]
> /usr/local/cache-4.1/bin/traffic_server(_ZN10DNSHandler9mainEventEiP5Event+0x14)[0x5ffd94]
> /usr/local/cache-4.1/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x91)[0x6b2a41]
> /usr/local/cache-4.1/bin/traffic_server(_ZN7EThread7executeEv+0x514)[0x6b3534]
> /usr/local/cache-4.1/bin/traffic_server[0x6b17ea]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x2af71486de9a]
> /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x2af71558dccd]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to