url_host_set() is free-ing and allocating memory at every call which is 
triggering a crash in the heap code
-----------------------------------------------------------------------------------------------------------

                 Key: TS-185
                 URL: https://issues.apache.org/jira/browse/TS-185
             Project: Traffic Server
          Issue Type: Bug
          Components: Core
            Reporter: Manjesh Nilange
            Assignee: Manjesh Nilange
            Priority: Minor
             Fix For: 2.0.0a


url_host_set() is calling this function every time:

const char *
mime_str_u16_set (HdrHeap       *heap,
                  const char    *s_str,
                  inku16         s_len,
                  const char   **d_str,
                  inku16        *d_len,
                  bool           must_copy)
{
    // INKqa08287 - keep track of free string space.
    //  INVARIENT: passed in result pointers must be to
    //    either NULL or be valid ptr for a string already 
    //    the string heaps
    heap->free_string(*d_str, *d_len);

    if (must_copy && s_str) {
        s_str = heap->duplicate_str(s_str, s_len);
    }
    *d_str = s_str;
    *d_len = s_len;
    return(s_str);
}    

So it always free()s and allocates a new chunk of memory. The regex mapping 
code calls url_host_set() on the same URL object every time it finds a mapping. 
At a high concurrency level, this was triggering a crash in the heap code. 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to