[SEA-TIME] WG: CCSDS 2026 flavor of the Year 2038 problem
Christian.Stangl at dlr.de
Christian.Stangl at dlr.de
Wed Feb 19 15:55:18 UTC 2025
Dear all,
As discussed in today's telecon I forward the email sent by Daniel Fischer.
Best regards
Christian
From: CESG <cesg-bounces at mailman.ccsds.org<mailto:cesg-bounces at mailman.ccsds.org>> On Behalf Of Daniel Fischer via CESG
Sent: Dienstag, 28. Januar 2025 13:34
To: cesg at mailman.ccsds.org<mailto:cesg at mailman.ccsds.org>
Subject: [CESG] CCSDS 2026 flavor of the Year 2038 problem
Dear all,
In ESA we have noticed an issue with the time epoch in CCSDS implementations. Holger Dreihahns team has discovered the issue and he has condensed the information in the bellow message. We thought it would be important to make also other CCSDS organisations aware of this and if you think this is relevant please inform your teams. Holger is of course available to provide more information as needed.
There seems to be a 'CCSDS 2026 flavor of the Year 2038 problem: https://en.wikipedia.org/wiki/Year_2038_problem<https://eur05.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.us%2Fv3%2F__https%3A%2Fen.wikipedia.org%2Fwiki%2FYear_2038_problem__%3B!!PvBDto6Hs4WbVuu7!M1SRaXAY0DSSn92PD3lSg9EFSEqf-rGmUN-82qGLGGfsRkPZdUTmFuqj8iSDNU-bBwT7f86gSnO3eHpvtC8FhhzAkJJ5ixQZMpKI%24&data=05%7C02%7CDaniel.Fischer%40esa.int%7C9587005ad26d49b5a46e08dd3f8748e6%7C9a5cacd02bef4dd7ac5c7ebe1f54f495%7C0%7C0%7C638736572459321664%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=O1542NdAMGn4xPZ%2FyDJkUyn8oo3e4B5EnBgytM7oLvY%3D&reserved=0>. The CCSDS 2026 flavor of the problem potentially occurs 12 years before 2038 for dates as of 2026, as the CCSDS epoch of 1958 is twelve years before the UNIX epoch 1970.
In general, the problem occurs when a software stores the number of seconds since epoch in a signed 32bit integer. The problem may be subtle; see the following line of C++ having the problem for daysSinceEpoch > 24855:
int64_t secsSinceEpoch = daysSinceEpoch * 86400;
Note: The CCSDS time standards are fine. However, software implementations of these standards may have a problem. As such, organizations might want to check if systems are impacted.
Kind Regards,
Daniel
ESA - European Space Agency
Dr. Daniel Fischer (he/him) I Lead Ground Systems Engineering Architect
Ground Segment Engineering and Innovation Department
Directorate of Operations
ESOC I Robert-Bosch-Str. 5, 64293 Darmstadt, Germany
Tel: +49 6151 902718
Daniel.Fischer at esa.int<mailto:Daniel.Fischer at esa.int> I www.esa.int<http://www.esa.int/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sea-time/attachments/20250219/e789c0f4/attachment.htm>
More information about the SEA-TIME
mailing list