On Feb 8, 7:49pm, agcarver+netbsd%acarver.net@localhost (AGC) wrote:
-- Subject: Re: ntpd wedged by libc?
| On 2/8/2012 19:03, Christos Zoulas wrote:
|> In
article<CAGN_6pY9GoO6jOKSGuKJnDF_ZFRom9HaVZhUHBjMEn=5aBUZ4A%mail.gmail.com@localhost>,
|> David Brownlee<abs%netbsd.org@localhost> wrote:
|>> On 7 February 2012 23:13, AGC<agcarver+netbsd%acarver.net@localhost>
wrote:
|>> Apologies for asking a potentially stupid question:
|>>
|>> Assuming this is just a specific toxic value or values, rather than
|>> some strange state caused by a sequence of events, is it not possible
|>> to run with a version of libc which logs every value passed to dtoa(),
|>> or just run a (quite long running :) test program which tests every
|>> bit pattern?
|>
|> Nope this is just a memory leak. Convert enough floating point values
|> and you run out of memory [the missing Bfree(b)]. This should be pulled
|> up to 5.
|>
|> christos
|
| That would certainly explain why ntpd triggers it since it's converting
| lots of floats on a regular basis.
|
| So how can I fix this problem?
Apply the attached patch to your libc and recompile it.
christos