BIND 10 #1023: b10-auth crashes with -v for version.bind query
BIND 10 Development
do-not-reply at isc.org
Fri Jun 17 07:51:18 UTC 2011
#1023: b10-auth crashes with -v for version.bind query
-------------------------------------+-------------------------------------
Reporter: | Owner:
jinmei | Status: new
Type: | Milestone:
defect | Sprint-20110628
Priority: | Resolution:
critical | Sensitive: 0
Component: | Sub-Project: DNS
b10-auth | Estimated Difficulty: 0.0
Keywords: | Total Hours: 0
Defect Severity: High |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Additional info: the reason for this seems that node->getRRset() is NULL
(shared pointer) in this context:
{{{
inline void
HotCacheImpl::insert(const CacheNodePtr node) {
LOG_DEBUG(logger, DBG_TRACE_DATA, DATASRC_CACHE_INSERT).
arg(node->getRRset()->getName());
}}}
This can be confirmed more explicitly by adding an assert():
{{{
assert(node->getRRset());
LOG_DEBUG(logger, DBG_TRACE_DATA, DATASRC_CACHE_INSERT).
arg(node->getRRset()->getName());
}}}
Fixing this is probably is easy, but I suspect we should learn a bit
more than the immediate lesson from this incident:
- We should be more careful about logging argument so that it wouldn't
cause server crash. Even in the worst case we should catch
unexpected case more gracefully by throwing an exception.
- We should use highest possible verbosity for logging in our unit
tests.
I'll create separate tickets for these two.
--
Ticket URL: <http://bind10.isc.org/ticket/1023#comment:1>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list