jensrossbach/node-red-contrib-chronos

Scheduler node generates flood of messages when enabled

Closed this issue · 2 comments

I have a Flow which contains two separate Chronos Scheduler instances. The first instance works appropriately. The second instance isn't working correctly at all.

I have the malfunctioning schedule node directly connected to a debug node that's printing the complete message object.

As soon as I enable the malfunctioning schedule node, it floods the debug log with messages:
image

The malfunctioning node's schedule is defined to run at "10:00:00 pm" (I've also tried "10:00 pm", "10 pm", "10:00 PM", "10 PM"... etc):
image

I've tried deleting and re-creating the malfunctioning scheduler node; I've tried deleting & recreating both scheduler nodes (in case there was a weird case that was causing them to contend with each other); I've tried combining both scheduler nodes into a unified node with separate outputs for each schedule entry. All iterations behave the same way.

Expected behavior
I expect the scheduler node would only fire once at 10PM.

Context information
Please complete the following information.
This is Node-Red v1.1.2 running on CentOS 8.3.2001. I've experienced the bug with both versions 1.7.0 and 1.7.1. NodeJS version is 10.21.0.

I found log entries in /var/log/syslog which seem related:
Dec 24 17:45:14 ns2020 Node-RED[28489]: 24 Dec 17:45:14 - [info] [debug:adsf]
Dec 24 17:45:14 ns2020 Node-RED[28489]: { payload: 0, src: 'chronos-cleanup', _msgid: 'ca32d1d5.eb1ab' }
Dec 24 17:45:14 ns2020 Node-RED[28489]: (node:28489) TimeoutOverflowWarning: 3665686000 does not fit into a 32-bit signed integer.
Dec 24 17:45:14 ns2020 Node-RED[28489]: Timeout duration was set to 1.
Dec 24 17:45:14 ns2020 Node-RED[28489]: 24 Dec 17:45:14 - [info] [debug:adsf]
Dec 24 17:45:14 ns2020 Node-RED[28489]: { payload: 0, src: 'chronos-cleanup', _msgid: 'ca32d1d5.eb1ab' }
Dec 24 17:45:14 ns2020 Node-RED[28489]: (node:28489) TimeoutOverflowWarning: 3665686000 does not fit into a 32-bit signed integer.
Dec 24 17:45:14 ns2020 Node-RED[28489]: Timeout duration was set to 1.
Dec 24 17:45:14 ns2020 Node-RED[28489]: 24 Dec 17:45:14 - [info] [debug:adsf]
Dec 24 17:45:14 ns2020 Node-RED[28489]: { payload: 0, src: 'chronos-cleanup', _msgid: 'ca32d1d5.eb1ab' }
Dec 24 17:45:14 ns2020 Node-RED[28489]: (node:28489) TimeoutOverflowWarning: 3665686000 does not fit into a 32-bit signed integer.
Dec 24 17:45:14 ns2020 Node-RED[28489]: Timeout duration was set to 1.
Dec 24 17:45:14 ns2020 Node-RED[28489]: 24 Dec 17:45:14 - [info] [debug:adsf]
Dec 24 17:45:14 ns2020 Node-RED[28489]: { payload: 0, src: 'chronos-cleanup', _msgid: 'ca32d1d5.eb1ab' }
Dec 24 17:45:14 ns2020 Node-RED[28489]: (node:28489) TimeoutOverflowWarning: 3665686000 does not fit into a 32-bit signed integer.
Dec 24 17:45:14 ns2020 Node-RED[28489]: Timeout duration was set to 1.
Dec 24 17:45:14 ns2020 Node-RED[28489]: 24 Dec 17:45:14 - [info] [debug:adsf]
Dec 24 17:45:14 ns2020 Node-RED[28489]: { payload: 0, src: 'chronos-cleanup', _msgid: 'ca32d1d5.eb1ab' }

I've seen the TimeoutOverflowWarning number vary between messages, to include:
3665689000; 3665688000; 3665686000; 3665937000;

Hi @chrishem,

I'm able to reproduce the problem and will analyze it now.

Regards, Jens

Fixed with release 1.7.2.