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