Control: fixed -1 0.85-1 On Sun, Dec 16, 2012 at 04:44:04PM +0100, Rogier Wolff wrote:
> The variance, which is used to calculate the stdev, is stored in a > 64-bit integer. > > However, what we store there are the squares of the difference from > the average. So if you have 70 second ping time (sometimes), the > square of 70000 miliseconds becomes 4900 million! Quite a lot, but > unlikely to overflow a 64-bit value.... However the calculation is > done in microseconds.... Thus your 70 seconds is 70 million > microseocnds, giving 4900 trillion (4.9 * 10^15) added to the running > total every second or so, (as long as the average remains around > zero). This can overflow a 64-bit variable in human-observable time. > > I've modified the code to do the calculations in miliseconds from now > on. This should buy us a factor of a million of margin. :-) So, if I'm not mistaken this is https://github.com/traviscross/mtr/commit/bc39728995df74dd0ab78feea9a8ecfc53579fce and was ultimately included in 0.83. Marking the first Debian version that has the fix. Bernhard

