Tom Scott, tác giả video trên cho rằng có thể giải thích thông qua cách làm việc của hệ điều hành Unix, theo đó iPhone sẽ lưu những thời điểm trên máy tính bằng một số nguyên dương, đại diện cho số giây đã trôi qua kể từ thời điểm 1/1/1970, vốn là mốc khởi đầu, tại đó giá trị thời gian được lưu bằng 0.
Lỗi có thể đến từ thuật toán chuyển đổi thời gian ra số nguyên, mà trong đó thời điểm 1/1/1970 là mốc 0. Ảnh cắt từ clip. |
Do đó, khi đặt điện thoại về thời điểm, mọi mốc thời gian sẽ được tính từ 0 là giá trị nhỏ nhất. Vấn đề sẽ xảy ra khi máy cố thể hiện thời gian của một sự kiện diễn ra trước khi đặt mốc, như một tin nhắn trước đó. Thời điểm của tin nhắn sẽ được xem là trước thời điểm mốc, do vậy mang giá trị bằng một số nguyên âm, điều này khiến máy bị lỗi.
Đây mới chỉ là một giả thiết, Apple chưa xác nhận nguyên nhân của lỗi này. Dẫu vậy, cách giải thích này dẫn ra một kinh nghiệm quý giá cho các lập trình viên.
Với những người đã thử nghiệm và khiến thiết bị bị lỗi, có nhiều cách khắc phục, trong đó đơn giản nhất là để máy tự hết pin và tắt để khởi động lại ngày tháng, với những người dùng kinh nghiệm hơn, tháo pin hoặc dùng Device Firmware Update cũng là giải pháp đáng cân nhắc.