BIND 10 #3198: isc::logging initialization in user_chk hook library cores under Debian6
BIND 10 Development
do-not-reply at isc.org
Tue Feb 4 12:23:06 UTC 2014
#3198: isc::logging initialization in user_chk hook library cores under Debian6
-------------------------------------+-------------------------------------
Reporter: tmark | Owner:
Type: defect | Status: new
Priority: medium | Milestone: DHCP
Component: logging | Outstanding Tasks
Keywords: | Resolution:
Sensitive: 0 | CVSS Scoring:
Sub-Project: DHCP | Defect Severity: N/A
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Description changed by tmark:
Old description:
> 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.
New description:
logging issue on Debian:
MessageIntitializer::loadDictionary() cores when called explicitly from
function inside a 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 made 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: <http://bind10.isc.org/ticket/3198#comment:1>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list