SignalK / signalk-server

An implementation of a Signal K central server for boats.
http://signalk.org
Apache License 2.0
307 stars 152 forks source link

Multiple plugins having issue with "Null Latitude" #1760

Closed 0x0f906 closed 2 months ago

0x0f906 commented 3 months ago

Getting the same issue for multiple plugins that are trying to read latitude state. This is just an example from the Auto State plugin.

Anyone else seeing this?

Running server 2.8.2

Jun 18 11:37:40 TypeError: Cannot read properties of null (reading 'latitude') at StateMachine.update (/home/pi/.signalk/node_modules/@meri-imperiumi/signalk-autostate/StateMachine.js:96:39) at handleValue (/home/pi/.signalk/node_modules/@meri-imperiumi/signalk-autostate/index.js:86:29) at /home/pi/.signalk/node_modules/@meri-imperiumi/signalk-autostate/index.js:104:13 at Array.forEach () at /home/pi/.signalk/node_modules/@meri-imperiumi/signalk-autostate/index.js:103:20 at Array.forEach () at /home/pi/.signalk/node_modules/@meri-imperiumi/signalk-autostate/index.js:99:23 at /usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:1048:16 at /usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:463:23 at processAfters (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:359:11) at Object.inTransaction (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:439:9) at Dispatcher.push (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:1214:24) at buffer.push (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:2030:21) at Object.flush (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:1997:26) at Timeout. (/usr/lib/node_modules/signalk-server/node_modules/baconjs/dist/Bacon.js:2014:25) at listOnTimeout (node:internal/timers:569:17) at process.processTimers (node:internal/timers:512:7)

tkurki commented 3 months ago

Not all systems produce navigation.position null values, but your system does and some plugins are not handling it correctly.

The best way to fix this is to report the problem to each plugin’s author.

Alternatively you can filter out the null values with a node-red flow, but that is just a band aid.