Eric Sproul created TS-4165:
-------------------------------

             Summary: Logging breaks if changing log format
                 Key: TS-4165
                 URL: https://issues.apache.org/jira/browse/TS-4165
             Project: Traffic Server
          Issue Type: Bug
          Components: Logging
            Reporter: Eric Sproul


When upgrading to 6.1.0 from 5.3.2, I was also changing the format of a custom 
log, and that apparently caused all request logging to stop.  In syslog I see 
this error:

{code}
 {0x1} ERROR: <LogObject.cc:1035 (_solve_filename_conflicts)> Cannot roll log 
file /var/log/circonus/trafficserver/request.blog to fix log filename conflicts
{code}

Worked with folks on IRC, and ran under gdb, setting a breakpoint at 
{{BaseLogFile::roll}} and stepping through 3 times subsequently, before taking 
a backtrace:

{code}
(gdb) bt
#0  BaseLogFile::roll (this=0x57f7550, interval_start=<optimized out>, 
interval_end=<optimized out>) at BaseLogFile.cc:119
#1  0x00000000006ebee0 in LogObjectManager::_solve_filename_conflicts 
(this=this@entry=0x36b9df8, log_object=log_object@entry=0xf17a90, 
    maxConflicts=maxConflicts@entry=99) at LogObject.cc:1029
#2  0x00000000006ec619 in LogObjectManager::_manage_object (this=0x36b9df8, 
log_object=0xf17a90, is_api_object=false, maxConflicts=99)
    at LogObject.cc:894
#3  0x00000000006db8db in manage_object (maxConflicts=99, logObject=0xf17a90, 
this=0x36b9df8) at LogObject.h:394
#4  LogConfig::read_xml_log_config (this=this@entry=0x36b9dd0) at 
LogConfig.cc:1468
#5  0x00000000006dda70 in setup_log_objects (this=0x36b9dd0) at LogConfig.cc:503
#6  LogConfig::init (this=0x36b9dd0, prev_config=0x0) at LogConfig.cc:388
#7  0x0000000000815bcd in main ()

(gdb) print *this
$1 = {m_fp = 0x0, m_start_time = 1454090917, m_end_time = 0, m_bytes_written = 
0, m_signature = 0, m_has_signature = true, 
  m_name = {<ats_scoped_resource<detail::SCOPED_MALLOC_TRAITS<char> >> = {
      _r = 0x5809950 "/var/log/circonus/trafficserver/request.blog"}, <No data 
fields>}, 
  m_hostname = {<ats_scoped_resource<detail::SCOPED_MALLOC_TRAITS<char> >> = 
{_r = 0x10fa238 "lbva1"}, <No data fields>}, m_is_regfile = false, 
  m_is_init = false, m_meta_info = 0x0}
{code}

[~amc] pointed out that {{m_is_regfile}} is false and that {{m_fp}} is null, 
and speculates that ATS might be assuming the file is open when it is not, and 
failing to roll the file.  The one case where we would try to roll the files 
without them being open is when the log format is changing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to