[Nagiosplug-devel] [ nagiosplug-Bugs-1862300 ] check_ntp_time segfault in 1.4.11

SourceForge.net noreply at sourceforge.net
Sat Jan 5 15:06:24 CET 2008


Bugs item #1862300, was opened at 2008-01-02 11:39
Message generated for change (Comment added) made by dermoth
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1862300&group_id=29880

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: General plugin execution
Group: Release (specify)
>Status: Closed
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: digitalruin (digitalruin)
Assigned to: Thomas Guyot (dermoth)
Summary: check_ntp_time segfault in 1.4.11

Initial Comment:
Hi, I'm running 1.4.11 on a Solaris 9 setup and check_ntp_time seems to have a segfault issue. This only happens when running it against an ntp pool, not an individual host. See below:

/usr/local/nagios/libexec$ ./check_ntp_time -H 0.us.pool.ntp.org -w 60 -c 120
Segmentation Fault
/usr/local/nagios/libexec$ ./check_ntp_time -v -H 0.us.pool.ntp.org -w 60 -c 120
sending request to peer 0
sending request to peer 1
response from peer 0: offset 54.24633014
sending request to peer 0
response from peer 1: offset 54.23421776
.
. <snip>
.
response from peer 4: offset 54.23087406
sending request to peer 4
response from peer 4: offset 54.23018897
sending request to peer 4
response from peer 4: offset 54.23138392
Segmentation Fault

Here's the truss output:

sending request to peer 4
write(1, " s e n d i n g   r e q u".., 26)      = 26
write(8, "E3\004FA\001\0\0\001\0\0".., 48)      = 48
poll(0x00034298, 5, 100)                        = 1
read(8, " $0104ED\0\0\0\0\0\0\011".., 48)       = 48
response from peer 4: offset 54.24180388
write(1, " r e s p o n s e   f r o".., 41)      = 41
    Incurred fault #6, FLTBOUNDS  %pc = 0x00015FB4
      siginfo: SIGSEGV SEGV_MAPERR addr=0x7FC1E3A4
    Received signal #11, SIGSEGV [default]
      siginfo: SIGSEGV SEGV_MAPERR addr=0x7FC1E3A4

And the traceback:

/usr/local/nagios/libexec# dbx /usr/local/nagios/libexec/check_ntp_time
Reading check_ntp_time
Reading ld.so.1
Reading libresolv.so.2
Reading libm.so.1
Reading libnsl.so.1
Reading libsocket.so.1
Reading libc.so.1
Reading libdl.so.1
Reading libmp.so.2
Reading libc_psr.so.1
(dbx) run -H 0.us.pool.ntp.org -w 60 -c 120
Running: check_ntp_time -H 0.us.pool.ntp.org -w 60 -c 120
(process id 12120)
signal SEGV (no mapping at the fault address) in offset_request at line 427 in file "check_ntp_time.c"
(dbx) where
=>[1] offset_request(host = 0x354b0 "0.us.pool.ntp.org", status = 0xffbffae4), line 427 in "check_ntp_time.c"
  [2] main(argc = 7, argv = 0xffbffb54), line 554 in "check_ntp_time.c"


----------------------------------------------------------------------

>Comment By: Thomas Guyot (dermoth)
Date: 2008-01-05 09:06

Message:
Logged In: YES 
user_id=375623
Originator: NO

The patch apply cleanly to the check_ntp.c as well; just specify the file
on the command line like this:

patch -p0 plugins/check_ntp.c
</path/to/check_ntp_time.best_offset_server_fix.patch

Everything is already patched on my local SVN repo and I'm committing the
changes right now.

----------------------------------------------------------------------

Comment By: digitalruin (digitalruin)
Date: 2008-01-04 22:32

Message:
Logged In: YES 
user_id=1609785
Originator: YES

Works great! Thanks for the fix. Just remember that it still exists in the
other ntp plugins based off of the original check_ntp code. I'm not sure if
that maintainer is checking this, but you might want to let them know ;)

----------------------------------------------------------------------

Comment By: Thomas Guyot (dermoth)
Date: 2008-01-04 19:08

Message:
Logged In: YES 
user_id=375623
Originator: NO

P.S.: Apply the last patch against a fresh copy of check_ntp_time.c from
Nagios-plugins 1.4.11.

----------------------------------------------------------------------

Comment By: Thomas Guyot (dermoth)
Date: 2008-01-04 19:07

Message:
Logged In: YES 
user_id=375623
Originator: NO

I got it. "int candidates[5]" is a 5-integer array, candidates[0] to
candidates[4]. At line 277 (check_ntp_time v1861 (nagios-plugins 1.4.11))
where the function reorders the candidates it starts at candidates[5] which
is out of bounds. In your case it was overwriting cserver putting random
data in it.

The attached patch should fix it; can you confirm?

Thanks for your help in debugging this. This is greatly appreciated.


File Added: check_ntp_time.best_offset_server_fix.patch

----------------------------------------------------------------------

Comment By: digitalruin (digitalruin)
Date: 2008-01-04 14:28

Message:
Logged In: YES 
user_id=1609785
Originator: YES

Here you go :

# ./check_ntp_time -vvv -H 1.pool.ntp.org -w 120 -c 300
Found 5 peers to check
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0445709228515625
        rtdisp = 0.0609893798828125
        refid = c63c16f0
        refts = 1199472719.993338
        origts = 1199474568.474856
        rxts = 1199474627.965969
        txts = 1199474627.966372
offset 59.46767855
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0445709228515625
        rtdisp = 0.0609893798828125
        refid = c63c16f0
        refts = 1199472719.993338
        origts = 1199474568.528016
        rxts = 1199474628.018613
        txts = 1199474628.01866
offset 59.46698618
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0445709228515625
        rtdisp = 0.0609893798828125
        refid = c63c16f0
        refts = 1199472719.993338
        origts = 1199474568.580226
        rxts = 1199474628.071063
        txts = 1199474628.071103
offset 59.4676069
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0445709228515625
        rtdisp = 0.0609893798828125
        refid = c63c16f0
        refts = 1199472719.993338
        origts = 1199474568.627356
        rxts = 1199474628.118044
        txts = 1199474628.118088
offset 59.46739721
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0011444091796875
        rtdisp = 0.04412841796875
        refid = 40490009
        refts = 1199473765.176361
        origts = 1199474568.674596
        rxts = 1199474628.163931
        txts = 1199474628.163948
offset 59.46385014
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0011444091796875
        rtdisp = 0.0441436767578125
        refid = 40490009
        refts = 1199473765.176361
        origts = 1199474568.726196
        rxts = 1199474628.215072
        txts = 1199474628.215088
offset 59.46364021
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0011444091796875
        rtdisp = 0.0441436767578125
        refid = 40490009
        refts = 1199473765.176361
        origts = 1199474568.77732
        rxts = 1199474628.26508
        txts = 1199474628.265097
offset 59.46305585
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0011444091796875
        rtdisp = 0.0441436767578125
        refid = 40490009
        refts = 1199473765.176361
        origts = 1199474568.827371
        rxts = 1199474628.319556
        txts = 1199474628.319573
offset 59.46525288
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.01885986328125
        rtdisp = 0.0413818359375
        refid = d1510907
        refts = 1199473265.973837
        origts = 1199474568.881858
        rxts = 1199474628.396212
        txts = 1199474628.396236
offset 59.47221529
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.01885986328125
        rtdisp = 0.0413818359375
        refid = d1510907
        refts = 1199473265.973837
        origts = 1199474568.966791
        rxts = 1199474628.480412
        txts = 1199474628.480432
offset 59.4719218
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.01885986328125
        rtdisp = 0.0413818359375
        refid = d1510907
        refts = 1199473265.973837
        origts = 1199474569.050913
        rxts = 1199474628.564735
        txts = 1199474628.564755
offset 59.47202778
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.01885986328125
        rtdisp = 0.0413818359375
        refid = d1510907
        refts = 1199473265.973837
        origts = 1199474569.135167
        rxts = 1199474628.648808
        txts = 1199474628.648838
offset 59.47195649
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0023040771484375
        rtdisp = 0.02984619140625
        refid = d133a1ee
        refts = 1199473719.765392
        origts = 1199474569.219201
        rxts = 1199474628.696106
        txts = 1199474628.696119
offset 59.47111976
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0023040771484375
        rtdisp = 0.02984619140625
        refid = d133a1ee
        refts = 1199473719.765392
        origts = 1199474569.231406
        rxts = 1199474628.708094
        txts = 1199474628.708102
offset 59.47123277
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0023040771484375
        rtdisp = 0.02984619140625
        refid = d133a1ee
        refts = 1199473719.765392
        origts = 1199474569.242943
        rxts = 1199474628.719963
        txts = 1199474628.719971
offset 59.4704082
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0023040771484375
        rtdisp = 0.02984619140625
        refid = d133a1ee
        refts = 1199473719.765392
        origts = 1199474569.257685
        rxts = 1199474628.734954
        txts = 1199474628.734963
offset 59.47152829
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 3
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.12030029296875
        rtdisp = 0.0667724609375
        refid = d04cf473
        refts = 1199473596.941478
        origts = 1199474569.269815
        rxts = 1199474628.795154
        txts = 1199474628.795205
offset 59.46338224
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 3
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.12030029296875
        rtdisp = 0.0667877197265625
        refid = d04cf473
        refts = 1199473596.941478
        origts = 1199474569.39442
        rxts = 1199474628.920017
        txts = 1199474628.920062
offset 59.46323884
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 3
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.12030029296875
        rtdisp = 0.0667877197265625
        refid = d04cf473
        refts = 1199473596.941478
        origts = 1199474569.519803
        rxts = 1199474629.045887
        txts = 1199474629.045933
offset 59.46334183
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 3
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.12030029296875
        rtdisp = 0.0667877197265625
        refid = d04cf473
        refts = 1199473596.941478
        origts = 1199474569.645956
        rxts = 1199474629.173512
        txts = 1199474629.173553
offset 59.46439874
best_offset_server() line 253: nservers=5
best_offset_server() line 257: cserver=0
best_offset_server() line 298: candidates[0]=0 (csize=0)
best_offset_server() line 257: cserver=1
best_offset_server() line 269: slist[1].stratum <= slist[0].stratum
best_offset_server() line 273: slist[1].rtdisp <= slist[0].rtdisp
best_offset_server() line 277: slist[1].rtdelay < slist[0].rtdelay
best_offset_server() line 291: candidates[5]=candidates[5-1] (i=0,
csize=1)
best_offset_server() line 291: candidates[4]=candidates[4-1] (i=0,
csize=1)
best_offset_server() line 291: candidates[3]=candidates[3-1] (i=0,
csize=1)
best_offset_server() line 291: candidates[2]=candidates[2-1] (i=0,
csize=1)
best_offset_server() line 291: candidates[1]=candidates[1-1] (i=0,
csize=1)
best_offset_server() line 298: candidates[0]=-246736175 (csize=1)
best_offset_server() line 257: cserver=-246736174
Segmentation Fault (core dumped)


----------------------------------------------------------------------

Comment By: Thomas Guyot (dermoth)
Date: 2008-01-04 01:54

Message:
Logged In: YES 
user_id=375623
Originator: NO

> best server selected: peer 1273064242

This is plain wrong. This should be between 0 and 5 and is definitely why
you get a segfault. How you end up with that value is mystery though. Can
you please apply the attached patch (check_ntp_time.mega_debug.patch) and
send again the full output of -vvv? The patch basically trace every
operation in best_offset_server and print out what's going on.

Thanks
File Added: check_ntp_time.mega_debug.patch

----------------------------------------------------------------------

Comment By: digitalruin (digitalruin)
Date: 2008-01-03 11:41

Message:
Logged In: YES 
user_id=1609785
Originator: YES

Here, I was able to pull a more detailed traceback with the core dump.
Definitely the function that selects the best server:

=>[1] best_offset_server(slist = 0x354a8, nservers = 5), line 310 in
"check_ntp.c"
  [2] offset_request(host = 0x36aa0 "1.us.pool.ntp.org", status =
0xffbffb5c), line 477 in "check_ntp.c"
  [3] main(argc = 8, argv = 0xffbffbcc), line 778 in "check_ntp.c"


----------------------------------------------------------------------

Comment By: digitalruin (digitalruin)
Date: 2008-01-03 11:38

Message:
Logged In: YES 
user_id=1609785
Originator: YES

No problem. Yeah it's the same in check_ntp. I actually had it pass once
without failing, but I think it was due to the server only having a two or
three choices. With full verbose I can see that it segfaults when choosing
the best server to go with. If it has x<n servers to choose from it's ok,
x>n it segfaults during the decision. So to simplify, no segfault when
runnng the check against one ntp server. Possibly no segfault when running
it against a pool that only consists of three or four. Always segfaults
when hitting a large pool server like ntp.org. Here's the info... I ran it
twice with both two different ntp hubs and it failed:

# ./check_ntp -vvv -H 1.us.pool.ntp.org -w 60 -c 120
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.02667236328125
        rtdisp = 0.0340576171875
        refid = 4524e00f
        refts = 1199377286.33416
        origts = 1199377653.767585
        rxts = 1199377710.512649
        txts = 1199377710.512664
offset 56.70649898
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.02667236328125
        rtdisp = 0.0340576171875
        refid = 4524e00f
        refts = 1199377286.33416
        origts = 1199377653.850921
        rxts = 1199377710.594606
        txts = 1199377710.594627
offset 56.70579767
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.02667236328125
        rtdisp = 0.0340576171875
        refid = 4524e00f
        refts = 1199377286.33416
        origts = 1199377653.927373
        rxts = 1199377710.670819
        txts = 1199377710.670839
offset 56.70584822
sending request to peer 0
response from peer 0: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.02667236328125
        rtdisp = 0.0340576171875
        refid = 4524e00f
        refts = 1199377286.33416
        origts = 1199377654.003221
        rxts = 1199377710.747487
        txts = 1199377710.747508
offset 56.70499885
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 1.90735e-06
        rtdelay = 0.011322021484375
        rtdisp = 0.034637451171875
        refid = d8dafeca
        refts = 1199376447.026551
        origts = 1199377654.082479
        rxts = 1199377710.829896
        txts = 1199377710.82992
offset 56.70595193
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 1.90735e-06
        rtdelay = 0.011322021484375
        rtdisp = 0.034637451171875
        refid = d8dafeca
        refts = 1199376447.026551
        origts = 1199377654.166106
        rxts = 1199377710.913108
        txts = 1199377710.913127
offset 56.70589066
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 1.90735e-06
        rtdelay = 0.011322021484375
        rtdisp = 0.034637451171875
        refid = d8dafeca
        refts = 1199376447.026551
        origts = 1199377654.248994
        rxts = 1199377710.996055
        txts = 1199377710.996118
offset 56.70593584
sending request to peer 1
response from peer 1: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 1.90735e-06
        rtdelay = 0.011322021484375
        rtdisp = 0.0346527099609375
        refid = d8dafeca
        refts = 1199376447.026551
        origts = 1199377654.331923
        rxts = 1199377711.078835
        txts = 1199377711.078882
offset 56.70586824
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.008636474609375
        rtdisp = 0.0222625732421875
        refid = 84ef0106
        refts = 1199377322.977451
        origts = 1199377654.414673
        rxts = 1199377711.154322
        txts = 1199377711.154334
offset 56.69950116
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.008636474609375
        rtdisp = 0.0222625732421875
        refid = 84ef0106
        refts = 1199377322.977451
        origts = 1199377654.495628
        rxts = 1199377711.234703
        txts = 1199377711.234713
offset 56.6990782
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.008636474609375
        rtdisp = 0.0222625732421875
        refid = 84ef0106
        refts = 1199377322.977451
        origts = 1199377654.576271
        rxts = 1199377711.31571
        txts = 1199377711.315721
offset 56.69919193
sending request to peer 2
response from peer 2: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.008636474609375
        rtdisp = 0.0222625732421875
        refid = 84ef0106
        refts = 1199377322.977451
        origts = 1199377654.657396
        rxts = 1199377711.396339
        txts = 1199377711.39635
offset 56.69902682
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0074005126953125
        rtdisp = 0.028106689453125
        refid = 121a0469
        refts = 1199376997.261332
        origts = 1199377654.737869
        rxts = 1199377711.4489
        txts = 1199377711.448967
offset 56.70623863
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0074005126953125
        rtdisp = 0.028106689453125
        refid = 121a0469
        refts = 1199376997.261332
        origts = 1199377654.748154
        rxts = 1199377711.45769
        txts = 1199377711.457742
offset 56.70598435
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0074005126953125
        rtdisp = 0.028106689453125
        refid = 121a0469
        refts = 1199376997.261332
        origts = 1199377654.755922
        rxts = 1199377711.466313
        txts = 1199377711.466348
offset 56.7064172
sending request to peer 3
response from peer 3: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0074005126953125
        rtdisp = 0.028106689453125
        refid = 121a0469
        refts = 1199376997.261332
        origts = 1199377654.76451
        rxts = 1199377711.473845
        txts = 1199377711.47388
offset 56.70550835
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0049896240234375
        rtdisp = 0.0347747802734375
        refid = d133a1ee
        refts = 1199376808.487007
        origts = 1199377654.772819
        rxts = 1199377711.483832
        txts = 1199377711.483859
offset 56.70550382
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0049896240234375
        rtdisp = 0.0347747802734375
        refid = d133a1ee
        refts = 1199376808.487007
        origts = 1199377654.784468
        rxts = 1199377711.496182
        txts = 1199377711.496194
offset 56.70548892
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0049896240234375
        rtdisp = 0.0347747802734375
        refid = d133a1ee
        refts = 1199376808.487007
        origts = 1199377654.797513
        rxts = 1199377711.508051
        txts = 1199377711.508061
offset 56.70531833
sending request to peer 4
response from peer 4: packet contents:
        flags: 0x24
          li=0 (0x00)
          vn=4 (0x20)
          mode=4 (0x04)
        stratum = 2
        poll = 16
        precision = 9.53674e-07
        rtdelay = 0.0049896240234375
        rtdisp = 0.0347747802734375
        refid = d133a1ee
        refts = 1199376808.487007
        origts = 1199377654.808561
        rxts = 1199377711.522168
        txts = 1199377711.52218
offset 56.70665574
best server selected: peer 1273064242
Segmentation Fault (core dumped)

Here's the dbx traceback from check_ntp:

=>[1] offset_request(host = 0x36aa0 "1.us.pool.ntp.org", status =
0xffbffad4), line 482 in "check_ntp.c"
  [2] main(argc = 6, argv = 0xffbffb44), line 778 in "check_ntp.c"



----------------------------------------------------------------------

Comment By: Thomas Guyot (dermoth)
Date: 2008-01-03 07:39

Message:
Logged In: YES 
user_id=375623
Originator: NO

Hi,

I'm the author of check_ntp_time and it's mostly based on check_ntp
(written by Sean Finney). The specific place where it segfaults
(offset_request function) hasn't been modified so this should apply to
check_ntp.c as well. Could you confirm running check_ntp with the same
arguments does the same segfault?

Also I can't reproduce the bug on my Linux and Solaris boxes and FreeBSD
VM. Does it happens all the time? Is it's still happening?

To debug further I will need the full verbose output of the plug-in
("-vvv" instead of "-v").


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1862300&group_id=29880




More information about the Devel mailing list