[collectd] Bug in utils_cache.c
psadauskas at gmail.com
Tue Jul 7 23:59:50 CEST 2009
Yeah, thats the exact message I get in the log, so its probably the same bug.
I added the continue in my patch, and it prevented it form crashing.
However, now I see in my log:
[2009-07-07 13:55:53] uc_check_timeout: apollo/uptime/uptime is
missing but ``uninteresting''
[2009-07-07 13:55:53] uc_check_timeout: apollo/users/users is missing
[2009-07-07 13:55:56] uc_check_timeout:
apollo/tcpconns-53-local/tcp_connections-TIME_WAIT is missing but
And no output after that, and its been two hours. I guess I need to
figure out what makes something uninteresting, and why its happening.
On Tue, Jul 7, 2009 at 2:11 PM, Mariusz Gronczewski<xani666 at gmail.com> wrote:
> I think i found another one, after compiling today's git snapshot.
> When i fire collectd after few (5-30)s i get
> collectd: utils_cache.c:55: cache_compare: Assertion `(a != ((void
> *)0)) && (b != ((void *)0))' failed.
> this is server which gathers data from several other servers so prob.
> on less busy machine it will take more time to trigger.
> Let me know if u want additional data.
> 2009/7/7 Paul Sadauskas <psadauskas at gmail.com>:
>> tokkee on IRC & I think we found a bug with utils_cache.c. The
>> uc_check_timeout function is missing a continue after the
>> "uninteresting" service check, that causes a key to be null.
>> Here's a quick patch:
>> diff --git a/src/utils_cache.c b/src/utils_cache.c
>> index 5e62aa4..ea46750 100644
>> --- a/src/utils_cache.c
>> +++ b/src/utils_cache.c
>> @@ -345,6 +345,7 @@ int uc_check_timeout (void)
>> sfree (keys[i]);
>> sfree (key);
>> cache_free (ce);
>> + continue;
>> /* If we get here, the value is ``interesting''. Query the record from the
>> I have a backtrace showing the log and error message here:
>> I'm not sure if this is all that's needed, or even tested it. It takes
>> ~24 hours for this bug to show itself.
>> Let me know if you need any more info.
>> collectd mailing list
>> collectd at verplant.org
More information about the collectd