BIND 10 #3198: isc::logging initialization in user_chk hook library cores under Debian6

BIND 10 Development do-not-reply at isc.org
Thu Oct 17 12:21:04 UTC 2013


#3198: isc::logging initialization in user_chk hook library cores under Debian6
-------------------------------------+-------------------------------------
                   Reporter:  tmark  |                 Owner:
                       Type:         |                Status:  new
  defect                             |             Milestone:  DHCP
                   Priority:         |  Outstanding Tasks
  medium                             |              Keywords:
                  Component:         |             Sensitive:  0
  logging                            |           Sub-Project:  DHCP
               CVSS Scoring:         |  Estimated Difficulty:  0
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
 logging issue on Debian:

 MessageIntitializer::loadDictionary() cores when called explicitly from
 function insides shared library which defines its own log messages.

 The dhcp server opens each hook library once during configuration parsing.
 This is done to "validate" the library. It is closed immediately without
 invoking its load function.

 This causes the MessageIntializer declared in the generated messages .cc
 file to be instantiated.  This in turn adds an entry to
 MessageInitializer::logger_values.  This entry is never "consumed" as
 MessageInitializer::loadDictionary is not invoked prior to closing the
 library.

 The dhcp server then opens each configured hooks library again, this time
 invoking their load functions.  When the explicit call to
 MessageInitializer::loadDictionary() is maed within the library's load
 function, it contains a 'stale' entry from the initial library open.
 Under some OS's accessing this entry is a seg fault.

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


More information about the bind10-tickets mailing list