Saturday, 1 September 2018

Node.js v10 bug causes all timers to stop firing after 25 days of process uptime

Hey everyone, just thought I should bring this bug to your attention. There is a 32-bit signed integer overflow bug in Node.js v10 core (affects v10.0.0 to v10.9.0), which causes all timers (setTimeout and setInterval) to stop working after your process has been up for around 25 days (technically 231 milliseconds, or 24 days and 20.5 hours).I lost about 4 days trying to track down this bug in my own application, and was tearing my hair out. This post is just in case it saves some of you time and stress.The bug itself is now marked as fixed, and a PR has landed, but it won't be released until Node v10.10.I am advising the users of my app to either downgrade to Node LTS (v8), or setup a crontab for a weekly restart of the service.

Submitted September 01, 2018 at 08:47PM by cgijoe_jhuckaby

No comments:

Post a Comment