I don’t seen the attached traffic.out file in the email.  I had to moderate the 
message (you might not be subscribed to the list) and it might strip 
attachments.

You can run gdb on traffic server and get more information then what is in 
traffic.out.  Here is an example where I sent signal 11 to traffic_server:

[bcall@homer ~]$ sudo gdb /usr/local/bin/traffic_server
(gdb) run
(gdb) bt full
#0  0x00007ffff564381d in nanosleep () at ../sysdeps/unix/syscall-template.S:84
No locals.
#1  0x00007ffff564376a in __sleep (seconds=0, seconds@entry=1) at 
../sysdeps/posix/sleep.c:55
        save_errno = 2
        ts = {tv_sec = 0, tv_nsec = 872839041}
#2  0x0000000000494ffa in main (argv=<optimized out>) at Main.cc:1967
        admin_user_p = <optimized out>
        enabled = <optimized out>
        __FUNCTION__ = "main"
        user = {<ats_scoped_resource<detail::SCOPED_MALLOC_TRAITS<char> >> = 
{_r = 0x10f0b80 "nobody"}, <No data fields>}
        main_thread = 0x7ffff7e51010
        mlock_flags = <optimized out>
        machine_addr = {sa = {sa_family = 0, sa_data = '\000' <repeats 13 
times>}, sin = {sin_family = 0, sin_port = 0, sin_addr = {s_addr = 0},
            sin_zero = "\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 
0, sin6_port = 0, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = 
'\000' <repeats 15 times>,
                __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 
0}}}, sin6_scope_id = 0}}
        stacksize = <optimized out>
        num_remap_threads = <optimized out>

-Bryan

> On Apr 26, 2017, at 9:49 AM, Velusamy, Gandhimathi <gvelu...@central.uh.edu> 
> wrote:
> 
> Hi,
> 
> I am trying a new algorithm for load balancing with balancer plugin.
> I am computing the time taken for one byte transfer by a  server and based on 
> that I am deciding.
> Before that I just used the delay as it is without concerning the file size 
> and was working fine.
> Now thought of considering time taken for one byte transfer and now the 
> traffic server crashes  few times but most of the time  it is working.
> I am not sure whether my code is causing the problem.
> 
> snippet of my code:
> 
> case TS_EVENT_HTTP_TXN_CLOSE:
>           {
>             url = TSHttpTxnEffectiveUrlStringGet(txn, &len);
>             
>             TSHttpTxnMilestoneGet(txn, TS_MILESTONE_UA_BEGIN, &start_time);
>             TSHttpTxnMilestoneGet(txn, TS_MILESTONE_SERVER_CLOSE, &end_time);
> 
>             interval_time = end_time - start_time;
>             if (TS_SUCCESS == TSHttpTxnServerRespGet(txn, &hdr_bufp, 
> &hdr_loc)) {                     //This block of code was taken from 
> plugins/background_fetch/rules.cc <http://rules.cc/>
>                 TSMLoc loc = TSMimeHdrFieldFind(hdr_bufp, hdr_loc, 
> "Content-Length", -1);
> 
>                  if (TS_NULL_MLOC != loc) {
>                     content_len = TSMimeHdrFieldValueUintGet(hdr_bufp, 
> hdr_loc, loc, 0 );
>                   }
>                TSHandleMLocRelease(hdr_bufp, hdr_loc, loc);
>           }
>            if(content_len != 0){
>                byte_time = interval_time/content_len ;
>                }
> 
> I tried to read the content length from TS_EVENT_HTTP_READ_RESPONSE_HDR and I 
> was afraid that there might be synchronization problem with threads in using 
> “content_len” variable.
> Any pointers on how to solve this issue is appreciated.
> 
> Please find attached the traffic.out file which contains the crash 
> information.
> 
> Thanks
> Gandhimathi

Reply via email to