Kasper,

Thanks for that, but it would be easier using the debug trace. Yours was the key evidence that led to the solution, but the smoking gun was not the number of ones in the reach register..

The contraption was working correctly, but the tally code was incorrect when the reach register was zero. I chased this down and found a most bizarre cause. The problem occurs when there are no selectable samples in the clock filter when the last bit is shifted out of the reach register. In your tests and mine there have been at least two selectable samples in the clock filter; but, depending on the sort order, there could be one or none. I fixed the problem in the development version.

I would like to emphasize two points. First, the problem extended only the the tally indicator and the program was otherwise working correctly. Second, the contributions of others not on the bugs list was vital for the solution. And, in fact, this particular hazard has existed since 1992.

Dave

Kasper Pedersen wrote:

On 06/11/2010 04:47 PM, David L. Mills wrote:

My scenario did include the condition of eight valid sample before
pulling the plug The first missed poll response did result in one
MAXDISPERSE sample in the filter, but that is completely irrelevant. The
point is the poll routine calls clock_select() for every poll sent when
the last four samples in the reach register are missing, so it is
guaranteed that the server be marked down after that.


For entertainment value, 'ntpq cartoons' with 4 samples, and 8 samples:

At 2 minutes after pulling the plug, there is a difference.

4:
 10.5.5.254  10.5.5.16   2 u    1    8    1    0.284   -0.294   0.000
 10.5.5.254  10.5.5.16   2 u    1    8    3    0.340   -0.217   0.078
 10.5.5.254  10.5.5.16   2 u    8    8    7    0.285   -0.121   0.140
*10.5.5.254  10.5.5.16   2 u    3    8   17    0.286    0.044   0.265
*10.5.5.254  10.5.5.16   2 u    9    8   36    0.286    0.044   0.265
*10.5.5.254  10.5.5.16   2 u   17    8   74    0.286    0.044   0.265
*10.5.5.254  10.5.5.16   2 u   24    8  170    0.286    0.044   0.265
*10.5.5.254  10.5.5.16   2 u   33    8  360    0.284   -0.294   0.224
*10.5.5.254  10.5.5.16   2 u   43    8  340    0.284   -0.294   0.224
*10.5.5.254  10.5.5.16   2 u   49    8  300    0.284   -0.294   0.224
*10.5.5.254  10.5.5.16   2 u   61    8  200    0.284   -0.294   0.224
*10.5.5.254  10.5.5.16   2 u   64    8    0    0.285   -0.121   0.135
*10.5.5.254  10.5.5.16   2 u  158    8    0    0.286    0.044   0.000
*10.5.5.254  10.5.5.16   2 u  337    8    0    0.286    0.044   0.000

8:
 10.5.5.254  10.5.5.16   2 u    3    8    1    0.294    2.971   0.000
 10.5.5.254  10.5.5.16   2 u    1    8    3    0.295    3.434   0.463
 10.5.5.254  10.5.5.16   2 u    1    8    7    0.288    3.092   0.256
*10.5.5.254  10.5.5.16   2 u    2    8   17    0.277    3.141   0.198
*10.5.5.254  10.5.5.16   2 u    2    8   37    0.277    3.141   0.200
*10.5.5.254  10.5.5.16   2 u    4    8   77    0.277    3.141   0.186
*10.5.5.254  10.5.5.16   2 u    3    8  177    0.277    3.141   0.182
*10.5.5.254  10.5.5.16   2 u    1    8  377    0.277    3.141   0.224
*10.5.5.254  10.5.5.16   2 u   11    8  376    0.277    3.141   0.304
*10.5.5.254  10.5.5.16   2 u   18    8  374    0.277    3.141   0.304
*10.5.5.254  10.5.5.16   2 u   27    8  370    0.277    3.141   0.304
*10.5.5.254  10.5.5.16   2 u   36    8  360    0.277    3.141   0.306
*10.5.5.254  10.5.5.16   2 u   43    8  340    0.277    3.141   0.334
*10.5.5.254  10.5.5.16   2 u   49    8  300    0.278    2.932   0.317
*10.5.5.254  10.5.5.16   2 u   58    8  200    0.283    2.750   0.443
*10.5.5.254  10.5.5.16   2 u   67    8    0    0.283    2.750   0.409
*10.5.5.254  10.5.5.16   2 u   73    8    0    0.283    2.750   0.178
 10.5.5.254  10.5.5.16   2 u   82    8    0    0.283    2.572   0.000
 10.5.5.254  10.5.5.16   2 u   88    8    0    0.283    2.572   0.000
 10.5.5.254  10.5.5.16   2 u   94    8    0    0.283    2.572   0.000
 10.5.5.254  10.5.5.16   2 u  104    8    0    0.283    2.572   0.000

As to whether this difference means anything, I will let others decide.

The above is 4.2.7p34. Also tested on 4.2.4p7. Spaces were shortened
to fit.


/Kasper Pedresen

_______________________________________________
questions mailing list
questions@lists.ntp.org
http://lists.ntp.org/listinfo/questions


_______________________________________________
questions mailing list
questions@lists.ntp.org
http://lists.ntp.org/listinfo/questions

Reply via email to