Downtime scheduling limited by 32-bit signed Unix timestamp (Year 2038 problem) in Checkmk Community (RAW)

Description:

When trying to schedule a downtime with a date in 2045 in Checkmk Community (RAW), the UI rejects it with an “invalid UNIX timestamp” error.

This points to the downtime scheduling logic being constrained by the signed 32-bit Unix timestamp limit, which overflows on January 19, 2038 (the well-known “Year 2038 problem”). Any date beyond that boundary is apparently being rejected or mishandled internally.

Suggested fix:

Checkmk should migrate downtime timestamp handling (and any other timestamp fields affected by the same limitation) to use an unsigned 32-bit integer, or ideally a 64-bit integer, instead of a signed 32-bit one. Using unsigned 32-bit would push the ceiling out to the year 2106, and 64-bit would effectively remove the limit for any practical purpose (it won’t be my problem lol).

Is there any workaround or I’m missing something?

I suspect this is a problem with the Nagios core in Raw/Community. I’ll forward to DEV and ask them to check the CMC as well.