gpsd-dev
[Top][All Lists]
Advanced

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

Re: [gpsd-dev] ntpd/gpsd tangle


From: Eric S. Raymond
Subject: Re: [gpsd-dev] ntpd/gpsd tangle
Date: Tue, 27 Jan 2015 08:23:16 -0500
User-agent: Mutt/1.5.23 (2014-03-12)

Hal Murray <address@hidden>:
> Sorry.  I forgot the interesting info.  (I don't use gdb very often.)
> 
> I'll leave that window around in case you want me to type something.
> 
> I expect you can setup your own test case without a lot of trouble.  Just 
> restart ntpd a few times.
> 
> Program received signal SIGPIPE, Broken pipe.
> [Switching to Thread 0x7ffff6743700 (LWP 10759)]
> 0x00007ffff72436af in __libc_send (fd=8, buf=0x7ffff6740ca0, n=117, flags=0)
>     at ../sysdeps/unix/sysv/linux/x86_64/send.c:31
> 31        ssize_t result = INLINE_SYSCALL (sendto, 6, fd, buf, n, flags, NULL,
> (gdb) bt
> #0  0x00007ffff72436af in __libc_send (fd=8, buf=0x7ffff6740ca0, n=117, 
>     flags=0) at ../sysdeps/unix/sysv/linux/x86_64/send.c:31
> #1  0x000000000040622b in throttled_write ()
> #2  0x00000000004064eb in notify_watchers ()
> #3  0x0000000000406535 in ship_pps_drift_message ()
> #4  0x00007ffff798d603 in gpsd_ppsmonitor ()
>    from /home/murray/gpsd/work/libgpsd.so.22
> #5  0x00007ffff723b52a in start_thread (arg=0x7ffff6743700)
>     at pthread_create.c:310
> #6  0x00007ffff6f7779d in clone ()
>     at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
> (gdb) 
> 
> 
> Thread 3 (Thread 0x7ffff5f42700 (LWP 10762)):
> #0  0x00007ffff6f6d977 in ioctl () at ../sysdeps/unix/syscall-template.S:81
> #1  0x00007ffff798cde3 in gpsd_ppsmonitor ()
>    from /home/murray/gpsd/work/libgpsd.so.22
> #2  0x00007ffff723b52a in start_thread (arg=0x7ffff5f42700)
>     at pthread_create.c:310
> #3  0x00007ffff6f7779d in clone ()
>     at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
> 
> Thread 2 (Thread 0x7ffff6743700 (LWP 10759)):
> #0  0x00007ffff72436af in __libc_send (fd=8, buf=0x7ffff6740ca0, n=117, 
>     flags=0) at ../sysdeps/unix/sysv/linux/x86_64/send.c:31
> #1  0x000000000040622b in throttled_write ()
> #2  0x00000000004064eb in notify_watchers ()
> #3  0x0000000000406535 in ship_pps_drift_message ()
> #4  0x00007ffff798d603 in gpsd_ppsmonitor ()
>    from /home/murray/gpsd/work/libgpsd.so.22
> #5  0x00007ffff723b52a in start_thread (arg=0x7ffff6743700)
>     at pthread_create.c:310
> #6  0x00007ffff6f7779d in clone ()
>     at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
> 
> Thread 1 (Thread 0x7ffff7feb740 (LWP 10757)):
> #0  0x00007ffff6f3b91d in nanosleep () at ../sysdeps/unix/syscall-template.S:8
> 1
> #1  0x00007ffff6f6e794 in usleep (useconds=<optimized out>)
>     at ../sysdeps/unix/sysv/linux/usleep.c:32
> #2  0x000000000040606a in detach_client ()
> #3  0x00000000004040a9 in main ()

It's fairly clear what's going on here, but not why.

ship_pps_drift_message() does exactly what it sounds like - it sends a JSON
object of class PPS describing the current clock drift somewhere.

Looks like whatever ought to be on the other ennd of that socket is
either dead (hence the SIGPIPE reported earlier) or not accepting data.
-- 
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]