Chess.com Has Stopped Working On 32bit iPads After the Site Hit 2^31 Game Sessions (chess.com)
Apple's decision to go all in on 64bit-capable devices, OS and apps has caused some trouble for Chess.com, a popular online website where people go to play chess. Users with a 32bit iPad are unable to play games on the website, according to numerous complaints posted over the weekend and on Monday. Erik, the CEO of Chess.com said in a statement, "Thanks for noticing. Obviously this is embarrassing and I'm sorry about it. As a non-developer I can't really explain how or why this happened, but I can say that we do our best and are sorry when that falls short." Hours later, he had an explanation: The reason that some iOS devices are unable to connect to live chess games is because of a limit in 32bit devices which cannot handle gameIDs above 2,147,483,647. So, literally, once we hit more than 2 billion games, older iOS devices fail to interpret that number! This was obviously an unforeseen bug that was nearly impossible to anticipate and we apologize for the frustration. We are currently working on a fix and should have it resolved within 48 hours.
The problem could waited twice longer — giving the 32bit iPads time to break down and die of old age on their own — but somebody wasted an entire bit for the possibility to return -1 somewhere...
Any time you pick ssize_t over size_t, for example, you are making the same decision...
In Soviet Washington the swamp drains you.
Exactly. This bug would have happened regardless of Apple's move to 64-bit given that it's a flaw in the site's design that would affect any 32-bit architecture. Apple's move to 64-bit hardware and OSes is the reason newer iPads support the site at all, otherwise the site would be broken across all iPads.
Also, why Chess.com doesn't just switch to unsigned ints and/or migrate to GUIDs is beyond me. You could just map the existing integers to GUIDs and then use GUIDs going forward. 32-bit OSes and CPUs have no problems dealing with 128-bit GUIDs, and it's unlikely that they'd ever encounter this problem again in the next few thousand years.
Huh. I seem to remember a few years back when a certain "News for nerds" website went down for a couple days when the comment ID number overflowed and they had to change the data type in the database...
It has nothing to do with the architecture at all. One can write code that can handle 64 bit values easily on any architecture. Sure it takes a tiny bit more work but people do it all the time.
So according to this article, Apple going to 64 bit is making this site fail. What a ridiculous nonsense.
1. Apple hasn't changed everything to 64 bit yet. iOS 11 will only run on 64 bit systems and won't run on any device that is 32 bit only, but this hasn't happened yet.
2. 64 bit applications work just fine. Apparently the application uses 32 bit in the 32 bit version and 64 bit in the 64 bit version, the 32 bit version overflows and the 64 bit version doesn't. So if Apple had killed off all 32 bit versions, which they didn't, everything would have actually been fine.
3. The problem is not 32 bit vs 64 bit application, it is using a 32 bit counter for a quantity that exceeds 32 bits. But 32 bit applications can easily use 64 bit counters. They are just a tiny tiny bit slower, but work just fine.
So the problem has nothing to do with Apple, it is using a 32 bit variable for a 64 bit quantity, in other words, an elementary programming error by the application developer.
Yeah, it's the users' fault for not buying a new iPad every 3 years.
(The last 32 bit iPad was discontinued in October 2014)
Chess.com is a multi-million dollar business. It'd be more surprising if they didn't have a CEO.