You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "song (JIRA)" <ji...@apache.org> on 2015/11/13 02:42:11 UTC

[jira] [Issue Comment Deleted] (TS-3985) TSHttpTxnCacheLookupStatusSet(HIT_STALE) calls cause a crash

     [ https://issues.apache.org/jira/browse/TS-3985?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

song updated TS-3985:
---------------------
    Comment: was deleted

(was: I've fixed this problem by adding a flag in HttpSM .It will skip the pending_work checking in how_to_open_connection method .
Thanks 




inline static HttpTransact::StateMachineAction_t
how_to_open_connection(HttpTransact::State *s)
{
  //add by scw
  if (s->force_flag == 1) {
      ink_assert(s->pending_work == NULL);
  }
  // Originally we returned which type of server to open
  // Now, however, we may want to issue a cache
  // operation first in order to lock the cache
  // entry to prevent multiple origin server requests
  // for the same document.
  // The cache operation that we actually issue, of
  // course, depends on the specified "cache_action".
  // If there is no cache-action to be issued, just
  // connect to the server.
  switch (s->cache_info.action) {
  case HttpTransact::CACHE_PREPARE_TO_DELETE:
  case HttpTransact::CACHE_PREPARE_TO_UPDATE:
  case HttpTransact::CACHE_PREPARE_TO_WRITE:
    s->transact_return_point = HttpTransact::handle_cache_write_lock;
    return HttpTransact::SM_ACTION_CACHE_ISSUE_WRITE;
  default:
    // This covers:
    // CACHE_DO_UNDEFINED, CACHE_DO_NO_ACTION, CACHE_DO_DELETE,
    // CACHE_DO_LOOKUP, CACHE_DO_REPLACE, CACHE_DO_SERVE,
    // CACHE_DO_SERVE_AND_DELETE, CACHE_DO_SERVE_AND_UPDATE,
    // CACHE_DO_UPDATE, CACHE_DO_WRITE, TOTAL_CACHE_ACTION_TYPES
    break;
  })

> TSHttpTxnCacheLookupStatusSet(HIT_STALE) calls cause a crash
> ------------------------------------------------------------
>
>                 Key: TS-3985
>                 URL: https://issues.apache.org/jira/browse/TS-3985
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Cache, DNS
>            Reporter: song
>             Fix For: 6.1.0
>
>
> Dear
> ATS cause a crash in how_to_open_connection  while using TSHttpTxnCacheLookupStatusSet . In Function HttpTransact::HandleCacheOpenReadHit, the hook pending_work was set to issue_revalidate function and the variable " s->current.request_to = ORIGIN_SERVER". But the hook  only be released while talking to a parent proxy in PPDNSLookup function. How to fix it.
> thanks



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)