[
https://issues.apache.org/jira/browse/TS-3544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steven Feltner updated TS-3544:
-------------------------------
Fix Version/s: 6.0.0
Summary: traffic_logcat asserts when fmt_buf_bytes = 0 (was:
traffic_logcat crashes )
> traffic_logcat asserts when fmt_buf_bytes = 0
> ---------------------------------------------
>
> Key: TS-3544
> URL: https://issues.apache.org/jira/browse/TS-3544
> Project: Traffic Server
> Issue Type: Bug
> Components: Logging
> Reporter: Steven Feltner
> Fix For: 6.0.0
>
>
> While reading a 766MB squid.blog, traffic_logcat seg faults.
> Here is a live gdb session:
> 1429614621.421 4 173.252.120.113 TCP_MISS/200 6392 GET http://72.167.230.251/
> - DIRECT/72.167.230.251 text/html
> 1429614621.428 3 197.232.18.238 TCP_MISS/200 3663 GET
> http://50.62.195.13/wp-includes/js/jquery/jquery-migrate.mi
> FATAL: LogFile.cc:541: failed assert `fmt_line_bytes > 0`
> Program received signal SIGABRT, Aborted.
> 0x0000003949832625 in raise () from /lib64/libc.so.6
> Missing separate debuginfos, use: debuginfo-install
> glibc-2.12-1.149.el6_6.5.x86_64 hwloc-1.5-3.el6_5.x86_64
> keyuibselinux-2.0.94-5.8.el6.x86_64 libstdc++-4.4.7-11.el6.x86_64
> libxml2-2.7.6-17.el6_6.1.x86_64 nss-softokn-freebl-re-7.8-6.el6.x86_64
> tcl-8.5.7-6.el6.x86_64 xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_64
> zlib-1.2.3-29.el6.x86_
> (gdb) bt full
> #0 0x0000003949832625 in raise () from /lib64/libc.so.6
> No symbol table info available.
> #1 0x0000003949833e05 in abort () from /lib64/libc.so.6
> No symbol table info available.
> #2 0x0000003057e2705a in ink_die_die_die (fmt=0x3057e333a8 "%s:%d: failed
> assert `%s`", ap=0x7ffffffe6b40) at in
> No locals.
> #3 ink_fatal_va(const char *, typedef __va_list_tag __va_list_tag *)
> (fmt=0x3057e333a8 "%s:%d: failed assert `%s
> msg = "FATAL: LogFile.cc:541: failed assert `fmt_line_bytes > 0`",
> '\000' <repeats 966 times>
> #4 0x0000003057e270ed in ink_fatal (message_format=0x10c5f <Address 0x10c5f
> out of bounds>) at ink_error.cc:73
> ap = {{gp_offset = 32, fp_offset = 48, overflow_arg_area =
> 0x7ffffffe6c20, reg_save_area = 0x7ffffffe6b60
> #5 0x0000003057e24a05 in _ink_assert (expression=0xffffffffffffffff <Address
> 0xffffffffffffffff out of bounds>,
> No locals.
> #6 0x0000000000431544 in LogFile::write_ascii_logbuffer
> (buffer_header=0x7ffffffee4f0, fd=1, path=0x460c6f ".",
> iter = {m_in_network_order = false, m_next = 0x7fffffff3150
> "\035\060\066U", m_iter_entry_count = 1, m_bu
> fmt_line_bytes = 0
> fmt_buf = "1429614620.635 1 198.58.10.197 TCP_MISS/200 3926 GET
> http://72.167.243.35/times/vasco.png - DI
> format_type = LOG_FORMAT_CUSTOM
> __func__ = "write_ascii_logbuffer"
> fmt_line = "1429614621.436 11 104.236.70.110 TCP_MISS/400 383 GET
> http://50.62.195.13/wp-includes/js/jque
> entry_header = <value optimized out>
> fmt_buf_bytes = 0
> bytes = 0
> fieldlist_str = 0x7ffffffee536
> "cqtq,ttms,chi,crc,pssc,psql,cqhm,cquc,caun,phr,pqsn,psct"
> printf_str = 0x7ffffffee56f "\377 \377 \377 \377/\377 \377 \377 \377
> \377 \377/\377 \377"
> #7 0x000000000041b258 in process_file (in_fd=12, out_fd=1) at logcat.cc:164
> first_read_size = 8
> header_size = 64
> byte_count = <value optimized out>
> header = 0x7ffffffee4f0
> second_read_size = 56
> alt_format = 0x0
> buffer =
> "\316\372\316\n\002\000\000\000\004\000\000\000\310g\000\000%\000\000\000\035\060\066U\036\060\0000\000\000squid\000cqtq,ttms,chi,crc,pssc,psql,cqhm,cquc,caun,phr,pqsn,psct\000\377
> \377 \377 \377/\377 \377
> \37K\000\000\000\000\000\000\000\000\000\000\v\000\000\000\000\000\000\000\002\000+\222h\354Fn3\000\000\000\000\000\
> buffer_bytes = <value optimized out>
> bytes = <value optimized out>
> __func__ = "process_file"
> nread = 26504
> #8 0x000000000041b4f7 in main (argv=<value optimized out>) at logcat.cc:297
> in_fd = 12
> i = <value optimized out>
> out_fd = 1
> error = <value optimized out>
> (gdb) frame 6
> #6 0x0000000000431544 in LogFile::write_ascii_logbuffer
> (buffer_header=0x7ffffffee4f0, fd=1, path=0x460c6f ".", alt_format=0x0) at
> LogFile.cc:541
> 541 ink_assert(fmt_line_bytes > 0);
> (gdb) p fmt_line_bytes
> $1 = 0
> (gdb) entry_header
> Undefined command: "entry_header". Try "help".
> (gdb) p entry_header
> $2 = <value optimized out>
> (gdb) p *entry_header
> value has been optimized out
> (gdb) p entry_header->entry_len
> value has been optimized out
> (gdb) quit
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)