[ https://issues.apache.org/jira/browse/TS-2822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Sorber updated TS-2822: ---------------------------- Fix Version/s: 4.2.2 > Crash in LogBufferIterator::next > -------------------------------- > > Key: TS-2822 > URL: https://issues.apache.org/jira/browse/TS-2822 > Project: Traffic Server > Issue Type: Bug > Components: Logging > Affects Versions: 4.2.1, 5.0.0 > Reporter: Brian Geffon > Assignee: Phil Sorber > Fix For: 4.2.2, 5.0.0 > > > It appears there is a crash in traffic_logstats that's consistently happening > in LogBufferIterator::next, a sample stack trace is attached. I'll be looking > into the issue. > #0 0x0000000000465c1d in LogBufferIterator::next (this=0x7fff435bd7b0) at > LogBuffer.cc:813 > #1 0x0000000000448fd2 in parse_log_buff (buf_header=0x7fff435bd900, > summary=false) at logstats.cc:1234 > #2 0x0000000000449660 in process_file (in_fd=8, offset=0, max_age=0) at > logstats.cc:1757 > #3 0x000000000044d031 in main (argv=0x7fff435ce1a8) at logstats.cc:2558 > It appears the issue is related to logstats.cc::process_file(), the final > read when it will read the contents of the log buffer can return a value less > than buffer_bytes; and since header is an aliased pointer of buffer, the > contents of header and the subsequent buffers can be invalid data, the > solution in my opinion would be to loop until all required data has been read > before calling parse_log_buff(). -- This message was sent by Atlassian JIRA (v6.2#6252)