Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Still having trouble with pow5mul

I'm still having issues with ntpd hanging when it's attempting to do math that eventually involves __pow5mult_D2A. Here's a backtrace where it is now stuck in an infinite loop (CPU usage is high, the program hasn't bombed out yet):

#0  0x103b58a0 in __pow5mult_D2A () from /usr/lib/libc.so.12
#1  0x103b5adc in __muldi3 () from /usr/lib/libc.so.12
#2  0x103b5584 in __multadd_D2A () from /usr/lib/libc.so.12
#3  0x103a7b90 in __dtoa () from /usr/lib/libc.so.12
#4  0x103a50c0 in __vfprintf_unlocked () from /usr/lib/libc.so.12
#5  0x103a64f8 in vfprintf () from /usr/lib/libc.so.12
#6  0x103a184c in fprintf () from /usr/lib/libc.so.12
#7 0x0004286c in record_peer_stats (addr=0xb2cc0, status=38842, offset=-4.5834599999999997e-05, delay=0, dispersion=0.00035315597534179687,
    jitter=0.0001220703125) at ntp_util.c:543
#8 0x000371c0 in clock_filter (peer=0xb2cb0, sample_offset=-4.5834599999999997e-05, sample_delay=<value optimized out>,
    sample_disp=0.0001220703125) at ntp_proto.c:2350
#9  0x0003bcbc in refclock_receive (peer=0xb2cb0) at ntp_refclock.c:581
#10 0x0003c0f4 in refclock_transmit (peer=0xb2cb0) at ntp_refclock.c:335
#11 0x000419c8 in timer () at ntp_timer.c:320
#12 0x000233cc in ntpdmain (argc=0, argv=0xefffe8b0) at ntpd.c:1026
#13 0x0001382c in ___start ()
#14 0x00013764 in _start ()

ntpd line from top:

14339 root      30    0  6296K 6092K RUN       25.8H 81.98% 81.98% ntpd

I had some data logging within ntpd looking for a different problem (random overflows during long floating adds) but I don't think it's in the same area of the source code as the above backtrace. The data there doesn't look unusual.

I haven't seen this particular problem in quite a while. The main one I was seeing was the overflows on some of the internal counters. In this case it just gets to pow5mult and gets caught in an infinite loop.

Home | Main Index | Thread Index | Old Index