Ok, so ntpd does not respond to a SIGQUIT with a core dump but I did manage to attach a trace to the process before killing it. The output of ktrace is below. The circumstances of this particular lockup I was actually able to observe. I camped out at the system waiting.

A cron job fired off which does routine disk maintenance (diffs of config files, free space calculations, postfix cleanup, etc.) In this case things got swapped around a bit while all the cleanup was occuring. However, after those activities finished, ntpd never returned to normal. It just spun out of control resulting in the trace below. Other programs that were running at the same time (gpsd, xclock, xterm) all recovered cleanly though the system was now bogged down by ntpd consuming almost all the processor time even though it was not set to high priority. The capture below pretty much loops continuously until ntpd is finally killed. I actually let the system run for an additional 24 hours in this state just to see if it would bounce back but it never did. I killed only one process, ntpd, and everything else was fine as the CPU load dropped to near zero immediately.

1210      1 ntpd     CALL  clock_gettime(0,0xefffd0e8)
1210      1 ntpd     RET   clock_gettime 0, -268447512/0xefffd0e8
1210      1 ntpd     CALL  select(0x1c,0xefffd05c,0,0,0xefffd0b4)
1210      1 ntpd     RET   select 1, -268447652/0xefffd05c
1210 1 ntpd CALL recvfrom(0x16,0xefffcc74,0x3e8,0,0xefffd098,0xefffd0ec) 1210 1 ntpd MISC msghdr: 28, 00000000f02cf7e0f25edeac00000001000000000001b58400000000
1210      1 ntpd     GIO   fd 22 read 12 bytes
     "\^V\^A\0\^A\0\0\0\0\0\0\0\0"
1210      1 ntpd     MISC  sockname: 16, 1002de040a00008d0000000000000000
1210      1 ntpd     RET   recvfrom 12/0xc, -268448652/0xefffcc74
1210 1 ntpd CALL recvfrom(0x16,0xefffcc74,0x3e8,0,0xefffd098,0xefffd0ec) 1210 1 ntpd MISC msghdr: 28, 00000000f02cf7e0f25edeac00000001000000000001b58400000000 1210 1 ntpd RET recvfrom -1 errno 35 Resource temporarily unavailable
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd178)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd178)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd178)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd178)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGIO caught handler=0x6b670 mask=(): code=[1], fd=22, band=41) 1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(23): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffce00)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210      1 ntpd     CALL  clock_gettime(0,0xefffd018)
1210      1 ntpd     RET   clock_gettime 0, -268447720/0xefffd018
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(23): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffcdf8)
1210      1 ntpd     RET   setcontext JUSTRETURN
 1210      1 ntpd     CALL  select(0x1c,0xefffcf8c,0,0,0xefffcfe4)
1210      1 ntpd     RET   select 1, -268447860/0xefffcf8c
1210 1 ntpd CALL recvfrom(0x16,0xefffcba4,0x3e8,0,0xefffcfc8,0xefffd01c) 1210 1 ntpd MISC msghdr: 28, 00000000f02cf7e0f25edeac00000001000000001039485c00000000
1210      1 ntpd     GIO   fd 22 read 12 bytes
     "\^V\^A\0\^A\0\0\0\0\0\0\0\0"
1210      1 ntpd     MISC  sockname: 16, 1002e7210a00008d0000000000000000
1210      1 ntpd     RET   recvfrom 12/0xc, -268448860/0xefffcba4
1210 1 ntpd CALL recvfrom(0x16,0xefffcba4,0x3e8,0,0xefffcfc8,0xefffd01c) 1210 1 ntpd MISC msghdr: 28, 00000000f02cf7e0f25edeac00000001000000001039485c00000000 1210 1 ntpd RET recvfrom -1 errno 35 Resource temporarily unavailable
1210      1 ntpd     CALL  setcontext(0xefffd178)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGIO caught handler=0x6b670 mask=(): code=[1], fd=22, band=41)
1210      1 ntpd     CALL  clock_gettime(0,0xefffd0e8)
1210      1 ntpd     RET   clock_gettime 0, -268447512/0xefffd0e8
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(23): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffcec8)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210      1 ntpd     CALL  select(0x1c,0xefffd05c,0,0,0xefffd0b4)
1210      1 ntpd     RET   select 1, -268447652/0xefffd05c
1210 1 ntpd CALL recvfrom(0x16,0xefffcc74,0x3e8,0,0xefffd098,0xefffd0ec) 1210 1 ntpd MISC msghdr: 28, 00000000f02cf7e0f25edeac00000001000000000001b58400000000
1210      1 ntpd     GIO   fd 22 read 12 bytes
     "\^V\^A\0\^A\0\0\0\0\0\0\0\0"
1210      1 ntpd     MISC  sockname: 16, 1002e7210a00008d0000000000000000
1210      1 ntpd     RET   recvfrom 12/0xc, -268448652/0xefffcc74
1210 1 ntpd CALL recvfrom(0x16,0xefffcc74,0x3e8,0,0xefffd098,0xefffd0ec) 1210 1 ntpd MISC msghdr: 28, 00000000f02cf7e0f25edeac00000001000000000001b58400000000 1210 1 ntpd RET recvfrom -1 errno 35 Resource temporarily unavailable
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd248)
1210      1 ntpd     RET   setcontext JUSTRETURN
1210 1 ntpd PSIG SIGALRM caught handler=0x3ea2c mask=(): code=SI_TIMER sigval 0x3)
1210      1 ntpd     CALL  setcontext(0xefffd178)
1210      1 ntpd     RET   setcontext JUSTRETURN

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

Reply via email to