The args list is not passing correctly at 65534 loops.
When you have a for loop that loops more than 65534 times the calling a proc and parsing the args from that proc fails. This 65534 number can be between multiple nested loops (eg a loop of 200 inside of loop of 500)
More info here: http://www.byond.com/forum/?post=1301315
Numbered Steps to Reproduce Problem:
Enter the code below and run.
Code Snippet (if applicable) to Reproduce Problem:
var/current = 0
for(var/x = 1, x<= 65536, x++)
current = get(x,x)
if(length(args)!=2) CRASH("wrong number of indices [length(args)]!=2")
It should not crash, it should correctly recognize the number of args passed.
The proc is called with the correct args but inside the proc the args list isn't created.
Does the problem occur:
Every time? Or how often?
Only once per each instance of the program and only if that instance hits the magic number of loops.
In other games? NA
In other user accounts? NA
On other computers? Yes
When does the problem NOT occur?
After the first time it throws an error, it doesn't happen again.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Tested in 3.54 there was still an error
1) Pass individual arguments instead of an args list. This defeats the purpose of having the ability to use a variable number of args though.
2) Expect it to fail once and then work fine the rest of the time