SignalK / signalk-server

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

SignalK server has no protection against some device sending flood of alarms #1765

Closed mgrouch closed 4 days ago

mgrouch commented 5 days ago

If there is some program or malfunctioning n2k device that sends a lot of alarms SignalK processes them all and tries to display them all in web UI. this effectively leads to frozen UI and computer with cpu at 100%.

Some leaky bucket algorithm for filtering excessive alarms is needed.

Thanks

tkurki commented 5 days ago

Signal K server has no protection against any device flooding the system with messages of one type or another.

Signal K Admin UI does not display notifications separately, it has just the Data Browser. If something creates a lot of different path-source combinations it does try to display them all. Simply sending one notification path with different values at a high rate is not a problem for the Data Browser, as it refreshes every 2 seconds.

Show me a screenshot and a way to reproduce it where this is actually causing trouble in a realistic situation in a Signal K webapp.

mgrouch commented 5 days ago

Signal K server has no protection against any device flooding the system with messages of one type or another.

Signal K Admin UI does not display notifications separately, it has just the Data Browser. If something creates a lot of different path-source combinations it does try to display them all. Simply sending one notification path with different values at a high rate is not a problem for the Data Browser, as it refreshes every 2 seconds.

Show me a screenshot and a way to reproduce it where this is actually causing trouble in a realistic situation in a Signal K webapp.

@tkurki wouldn’t KIP dashboard running on SignalK show all those alarms and run it into 100% CPU freeze?

tkurki commented 5 days ago

You do the work of figuring out if it does or not, don't ask hypothetical questions.

mgrouch commented 5 days ago

You do the work of figuring out if it does or not, don't ask hypothetical questions.

In boating you are bound to ask yourself hypothetical questions like what outcome is going to be if a certain condition happens. Without the need to reproduce that condition because it might be not feasible

tkurki commented 4 days ago

As far as I know this is not a Signal K problem. The original user report that I believe prompted creating this issue is a problem with openplotter-notifications, not Signal K server.

If you have evidence otherwise feel free to reopen this issue.