Package: gpsd Version: 2.37-4 Severity: important
gpsd doesn't support command pipelining. That means that if a client sends requests fast enough, some of them will be ignored. Here is an strace of a program connecting to gpsd and sending w, o and y commands. GPSD reacts by handling the w comamnd and ignoring the other two commands: accept a new connection: 1214968501.812918 accept(3, {sa_family=AF_INET, sin_port=htons(47740), sin_addr=inet_addr("10.0.0.1")}, [476741369872]) = 6 <0.000057> read the three commands that happened to arrive fast enough: 1214968501.814246 read(6, "w\r\no\r\ny\r\n", 8191) = 9 <0.000103> send the X and W response typically received after enablign watcher mode (W command): 1214968501.815133 write(6, "GPSD,X=1214968501.815080,I=SiRF "..., 40) = 40 <0.000049> 1214968501.815572 write(6, "GPSD,W=1\r\n", 10) = 10 <0.000038> enter select loop, no response to the o and y commands sent: 1214968501.815749 select(8, [3 5 6 7], NULL, NULL, {1, 0}) = 1 (in [7], left {0, 884000}) <0.117157> ... not handling run-together commands means that gpsd users have to wait for responses before they can issue additional commands, which slows down command rate immensely, which is a problem as gps information is time-critical. It also means that clients sending "fast enough" or over a "slow enough" network (e.g. with nagle kicking in) will simply time out as gpsd ignores the request. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.24-1-amd64 (SMP w/4 CPU cores) Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages gpsd depends on: ii debconf [debconf-2.0] 1.5.11etch1 Debian configuration management sy hi libc6 2.7-12 GNU C Library: Shared libraries ii libdbus-1-3 1.2.1-2 simple interprocess messaging syst ii libgps17 2.37-4 C library for communicating with G ii lsb-base 3.1-23.2etch1 Linux Standard Base 3.1 init scrip ii netbase 4.32 Basic TCP/IP networking system ii python 2.5.2-1 An interactive high-level object-o Versions of packages gpsd recommends: ii gpsd-clients 2.37-4 Clients for the GPS daemon -- debconf information: gpsd/device: * gpsd/start_daemon: false gpsd/autodetection: false gpsd/daemon_options: -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]