BIND 10 #1964: regressions due to --enable-logger-checks

BIND 10 Development do-not-reply at isc.org
Tue May 8 20:59:31 UTC 2012


#1964: regressions due to --enable-logger-checks
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  defect        |                       Status:  new
            Priority:  very high     |                    Milestone:
           Component:  logging       |  Sprint-20120515
           Sensitive:  0             |                     Keywords:
         Sub-Project:  Core          |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:
         Total Hours:  0             |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
 This feature added in #1892 caused at least a couple of troubles.
 The code also seems to have other potential issues.

 First, it breaks compile when the check is disabled due to the unused
 function:
 http://git.bind10.isc.org/~tester/builder/BIND10-systest/20120508204501-MacOS/logs/build.out

 Second, a related unit test fails at least on some environments
 including mine:
 {{{
 [ RUN      ] FormatterTest.mismatchedPlaceholders
 log_formatter_unittest.cc:117: Failure
 Death test: { isc::testutils::dontCreateCoreDumps();
 Formatter(isc::log::INFO, s("Too many arguments in %1 %2"),
 this).arg("only one"); }
     Result: illegal return in test statement.
  Error msg:
 [  FAILED  ] FormatterTest.mismatchedPlaceholders (4474 ms)
 }}}

 Third, the way dontCreateCoreDumps() is implemented is broken:
 - we must not use an unnamed name space in a publicly shared header
   file.
 - liblog is a quite primitive library while testutils are generally
   considered utilities for a more advanced modules such as data source
   or the auth server.  It's probably better to this set up in
   lib/util/unittests

 Combining these, I'd suggest declaring this function in a normal named
 namespace in lib/util as a non inline function and defining it in a
 separate .cc file.  It will also work as a solution to the
 unused-function problem.

 Unfortunately the defect is quite big and it won't be a one-line fix.
 We need a branch and normal review process at the highest priority.

 Pushing this to the current sprint.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1964>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list