At least one mapped in object's /New() proc is never called.
Versions Tested
- 513.1513
- 513.1511
- 513.1505
- 512.1488
Numbered Steps to Reproduce Problem:
1) Compile and Run the demo program.
2) The demo code will run on login.
Code Snippet (if applicable) to Reproduce Problem:
Demo Program: https://www.dropbox.com/s/bk5tpuz166rys69/NewMePlease.zip
/atom
var/new_was_called = 0
/atom/New()
new_was_called = 1
// Run the check on login for convenience.
/mob/Login()
. = ..()
src << "Starting Search"
for(var/atom/A in world)
if(!A.new_was_called)
src << "[A] ([A.type]) (REF=\ref[A] at [A.x],[A.y],[A.z] has new_was_called=[A.new_was_called]"
src << "Finished Search"
Expected Results:
The /New() proc should be called on every atom that is loaded from compiled in .dmm files.
Actual Results:
On my test map, one object did not get it's New() proc called.
The green circle (/obj/circle/green) (REF=[0x2010000] at 50,19,3 has new_was_called=0
I cannot help but notice the object's ref of 0x2010000 strongly suggests it was the 65,536th object on the map.
The problem occurs:
- Every single time, and it is always the same object.
- I only ran the demo project on Windows, but bug was originaly discovered from an SS13 server running on Linux, so I'd say both.
Workarounds:
Don't use
New()