Description:
INT(10) UNSIGNED is not big enough to handle UNIX timestamps into infinity
Current behaviour:
mail
.expire_time
and mail
.deliver_time
will overflow at: _2106-02-07 at 06h 28m 16s (24h time)_ which is approx. 90 years from the time of this post.
Expected behaviour:
The database should be robust enough to allow continued operation
Steps to reproduce the problem:
Max value of an INT(10) UNSIGNED is 4294967295 which is _2106-02-07 at 06h 28m 15s (24h time)_
mail
.expire_time
and mail
.deliver_time
NOTE: 4294967296 is _2106-02-07 at 06h 28m 16s (24h time)_
Branch(es): 3.3.5 (perhaps 6.x, didn't check)
TC hash/commit: 2db9269ec1c06b5fccc45dc0a5b4f714f9b48804
TDB version: TDB_full_world_335.61_2016_04_11.sql
Operating system: N/A
NOTE: UNIX timestamps calculated using
http://www.csgnetwork.com/time2unixdscalc.html
http://www.csgnetwork.com/unixds2timecalc.html
probably almost the same thing(int limit), this happened in my server with the arena team charters '-'
Will the game even work (without patching) in 2038?
Will the game even work (without patching) in 2038?
The 2038 problem only effects signed 32-bit integers when interpreted as seconds since the epoch, so as long as we use unsigned, you don't have a problem until 2106.
I wonder though if Blizzard used 64-bit datatypes when they designed the client but only used 32-bit data. That would allow them flexibility as platforms change.
The sad thing is they keep "kicking the can" and not solving the problem. Most newer systems use signed 64-bit values for time which means even with that feature, WoW would still break in approx. 300 billion years, so be careful mailing purples to your main.
... really?
yeah, int limit fucked arena team charters on server that i play
In 2106 we will be fucked because of this issue.
And probably dead.
I won't be alive to see the issue manifest. Not sure if it will be fixed while I'm alive though.
... really?
In 2106 we will be fucked because of this issue.
And probably dead.I won't be alive to see the issue manifest. Not sure if it will be fixed while I'm alive though.
Hey, think of your great grandkids... they may want to play "legacy" games just like the thriving Commodore 64 emulator communities today ;)
Anyway a bug is a bug, no matter how insignificant it may seem.
I really doubt you can run 32 binaries (wow.exe) or have ipv4 support on 2106.
I really doubt you can run 32 binaries (wow.exe) or have ipv4 support on 2106.
Sure you could. You could box up a machine today with Win 7, the WoW client and Trinity and have someone open it in a hundred years. As long as they play on localhost or connect it to another similar machine on a private LAN using a "legacy" router it will work fine ;)
At any rate, if you decide this is a "wont fix" bug that's probably OK too.
Most helpful comment
... really?