running an infinitely-recursive proc with loop checks disabled causes a segfault, rather than a soft crash when DD fails to allocate memory
Numbered Steps to Reproduce Problem:
run the code below
Code Snippet (if applicable) to Reproduce Problem:
/world/loop_checks = 0
/world/New()
recurse(1)
/proc/recurse(n)
if(!(n % 10))
world.log << n
.(n+1)
Expected Results: DD would soft-crash and close the world when it failed to allocate memory for more recursions, or when it reached the end of its allocated space.
Actual Results: Segfault after a little over 4000 calls.
Does the problem occur:
Every time? Or how often? Every time
In other games? N/A
In other user accounts? Yes
On other computers? Yes
When does the problem NOT occur? N/A
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
Occurs at least since 500.1213, the required number of iterations reducing each version (~4510 in 500.x, 4220 by 509.1319, 4120 in 510.1346, 4080 in 511.1352)
Workarounds: none known