On 05/05/2026 2:39 PM PDT Chris Blackburn <[email protected]> wrote:

> Hi All,
> 
> I've been working a lot with GPSD on a project recently and I've noticed some 
> strange behaviour. Basically I'm looking for some guidance from the devs aso 
> to whether what I've discovered is a bug that needs fixing or whether this is 
> expected behaviour.
> 
> Our setup is on a vehicle where there is a primary computer which has the GPS 
> receiver on it. This runs GPSD and serves out location information through 
> the JSON interface to a number of devices on the vehicle which need location. 
> There are currently 3. I am not in control of the software running on these 
> devices. They were just told to "implement the GPSD spec" and pointed at the 
> documentation on the website.
> 
> One of these devices appears to rolled their own implementation of the client 
> rather than use an off the shelf library. As a result they had a bug where 
> they did not read from the TCP socket properly and after about 60 seconds or 
> so they had filled up their TCP receive buffer and were sending back "TCP 
> Zero Window" messages back to GPSD. This is obviously broken and we will be 
> getting them to fix their implementation.
> 
> *however*, The strange behaviour we noticed was that, when this happened, it 
> killed GPSD for every client simultaneously. Nobody got JSON data until this 
> offending client eventually times out and reset its connection. At which 
> point, all of the other clients would get a burst of data. Then the offending 
> device reconnected and the saga repeated itself. So, one faulty client caused 
> all clients to get (effectively) no location data.
> 
> This was all observed with GPSD 3.22 on Debian 12. I then created a test 
> program which replicated the behaviour of the offending device and ran that 
> on a test box running 3.27.5 and it was still the same.
> 
> Is this intended behaviour? Or is there something to investigate here where 
> clients are isolated from one another so one misbehaving client can't affect 
> everyone?
> 
> Thanks, as always, for the amazing effort you guys do in creating GPSD

I'm goinf to say that it is a bug and I think it's either throtted_write, 
something above or something below it.

I'll work on STR.

Reply via email to