This was a problem back when nobody thought you'd ever need more than 2G of RAM. Many OS's, including Solaris and Windows were not tested with addresses greater than 2G. The problem was the address became negative, so when adding pointers, things got a bit whacky. All these OS's are fixed today I'm sure as 4G isn't that unreal any more. More than 4G is handled through virtual memory of course (you actually don't need a 64-bit CPU).
I'm reminded of the Therac-25 (?) back in the 80s. One of the flaws mentioned was an overflow in an 8 bit cycle counter for tuning the radiation beam. When the counter rolled-over, it just continued to focus finer and finer. Caused several fatal burns before the machine was pulled and the manufacturer ended up in court.
Hi from Z‹RICH,SWITZERLAND.
"WHAT CAN GO WRONG WILL".IF IT WORKS DO NOT FIX IT.
LET US KNEEL ON THE EARTH THIS SUNDAY AND:-
LIFT UP YOUR EYES & HEART,
CROSS YOUR FINGERS,
TO SAINT MURPHY.
AND WHEN ALL FAILS USE AN "IRISH-SCREWDRIVER".
NAMELY A 1 KILO HAMMER
Yours "without wax"
This article brought back lots of old memories, having worked on a system where we had counter that the documentation said was 64 bits but turned out to be 32 bits which caused our systems to reboot every 540 days. Needless to say tracking that one down was a joy.
This reminds me of an article I read a few years ago about a flight of 12 F-22 fighters losing their brains when crossing the International dateline on a flight between Hawaii and Okinawa. And, back in the early days of the PC era, most PCs shipped with 64K or 128K of RAM. (Yes, that's "K") The box was capable of holding up to 640K of RAM total but quite a few software applications crashed if the computer had more the 512K installed due to a roll-over error. Never take anything for granted when dealing with mins and maxs.