ntpd hangs under FBSD 8

Nate Eldredge nate at thatsmathematics.com
Wed Feb 24 22:18:44 UTC 2010


On Mon, 22 Feb 2010, Peter Steele wrote:

>> Just out of curiosity, can you attach to the process via gdb and get a 
>> backtrace? This smells like a locked pthread_join I hit in my own code 
>> a few weeks ago
>
> I'm not using the debug version of ntpd so the backtrace isn't too 
> useful, but here's what I get:
>
> (gdb) bt
> #0  0x0000000800d52bfc in select () from /lib/libc.so.7
> #1  0x0000000000425273 in ?? ()
> #2  0x000000000040540e in ?? ()
> #3  0x0000000800580000 in ?? ()
> #4  0x0000000000000000 in ?? ()

I bet ntpd doesn't call select() in all that many places.  Instead of 
going to all this trouble to build a debugging libc, you could just grep 
for select() and place breakpoints on all occurrences.  (It might also be 
obvious from looking at them which one is the offender.)

Also, since a system call is causing the trouble, you might learn 
something from truss or ktrace.

-- 

Nate Eldredge
nate at thatsmathematics.com


More information about the freebsd-hackers mailing list