Apple ‘1970’ date bug: Here is all you need to know
The weird bug renders Apple’s iPhone, iPad, and iPod touch models into bricks after the date is set to January 1, 1970.
It seems that January 1, 1970 was not particularly a cheerful day for Apple. If you are an Apple user, you might have heard about the weird new date bug that surfaced on Reddit recently.
The bug renders Apple’s iPhone, iPad, and iPod touch models into bricks as soon as users set the aforementioned date. So how does this bug work The bricking of the Apple devices is a result of two concerted issues—the Unix Epoch and 64-bit architecture on Apple devices.
For starters, the date glitch is triggered by an integer underflow caused by the ‘Unix Epoch’—the same glitch that wrongly informed Facebook users that they have been friends with another user for 46 years.
Well, do not stress yourself if you have no clue what a ‘Unix Epoch’ is. A Unix Epoch is a system for describing instants of time and is determined by the number of seconds that have elapsed since 00.00.00 Coordinated universal time (UTC) on January 1, 1970.
Moving forward, the date January 1, 1970 was a special day for computers and the Unix Epoch was originally designed on that day. While designing the system, the programmers needed a simple way to represent dates and time.
When the programmers were designing the time calculation system, they thought that an integer could be the best way to represent dates and times without having to deal with intricacies such as days, hours, or minutes.
The Unix Epoch is still in use and almost all devices including computers, smartphones, and other gadgets use it, as it is the best way to store dates and times.
Now for the second part of the problem: 64-bit architecture systems. According to several reports, the date bug only affects 64-bit architecture Apple devices.
A 64-bit system refers to how numbers are stored and arranged on the processor. This means there are a total of 64 binary digits to play with instead of the old 32-bit architecture, which is capable of deal with much bigger numbers down at the elementary processor level.
Just to let readers know, there are numerous coding differences between 32-bit and 64-bit systems.
So the bug that is affecting the Apple devices is a result of an integer underflow—a situation where the integer value used is less than the minimum signed or unsigned integer, triggering a segmentation fault.
This means a negative number cannot be stored in 64-bit formats and the number ends up wrapping around to its maximum value.
In a layman’s term, setting the date to January 1, 1970 triggers a negative time value, which leads to the bricking of the iPhones, iPads, and iPods.
As Apple had previously set the date limit in line with the Unix Epoch, setting the aforementioned time triggers the device to run a few checks—battery time calculation, when the last call was, and many more checks related to date and time.
However, after the completion of the check, the device sets the date earlier than the Unix Epoch, which a negative integer.
As the numbers cannot be negative in this format, the device automatically wraps all the way around to give a date 20 times longer than the expected lifespan of the universe.
As a result, the device finds it very difficult to display the massive date and crashes in the process.
Apple can solve this problem if they use a signed integer, which is capable of handling negative numbers. However, it still does not make sense to use this format, as no rational person will change his or her device’s date so far back.
The California-based company has acknowledged the issue and will be coming up with a new update to permanently put an end to the issue.
“An upcoming software update will prevent this issue from affecting iOS devices. If you have this issue, contact,” the company said in a statement.