@artch Is the tombstone spawned with the same id as the original creep, perhaps the code I had to run the creep tried to continue treating it as a creep then? I don't have any code that deals with tombstones. Also, since this error is apparently being thrown from outside my code, I'm not certain how I could catch or remedy it, I resolved it by pushing my code again in the end..
Posts made by Chobobobo
-
RE: IVM - PTR - Error, could not find an object with ID
-
IVM - PTR - Error, could not find an object with ID
I believe this started happening after a creep died, likely a new creep was scheduled to start spawning. This is running on Shard 1 on the PTR
Error: Could not find an object with ID 5ab24757d06c682273e56812 at data (:36311:19) at Object.get [as spawning] (eval at exports.defineGameObjectProperties (:1121:9), :6:68) at Object.exports.defineGameObjectProperties.obj.toJSON (:1140:29) at JSON.stringify () at global._init.global._start (:29412:45) at () at make (/opt/ivm/engine/dist/core/runtime/make.js:243:31)
-
RE: LookAt not working
I'm also getting this error in PTR, given lookAt(14,24) which is a normal position in the room:
TypeError: Cannot read property '24' of undefined at _lookSpatialRegister (:14286:77) at Object.lookAt (:14380:9)
This is with IVM enabled
-
RE: bug in src/game/creeps.js withdrawing from power spawn
Yes, I'm seeing the same error, withdrawing from a powerSpawn is returning ERR_NOT_ENOUGH_RESOURCES when called with valid parameters currently.
https://github.com/screeps/engine/blob/master/src/game/creeps.js#L627 is the line in error, you can see the correct line below:
https://github.com/screeps/engine/blob/master/src/game/creeps.js#L657 -
RE: Garbage Collection Profiling
Thanks for pointing me in the direction of Memory. Initially halving my memory footprint reduced my average usage by about 15CPU/tick, I had no idea that utilizing even 400k would cause such a significant impact on performance.
-
RE: Garbage Collection Profiling
Currently using about 400k of memory, normal JSON.parse on a private server takes between 8-12CPU/tick from what I have seen. I get the CPU at the very beginning of the main loop, and check it again immediately after the first load from Memory. This should be giving me a pretty accurate representation of the parse costs.
What I am seeing though is an extra 15-20CPU scattered randomly throughout the main loop, sometimes in the middle of a creep's behaviour, sometimes lumped in with Memory parsing or other areas. I can only reasonably assume this is GC, unless you have an alternative explanation.
Understandably getting C code working inside the Screeps environment may not be possible currently, but I would really appreciate some better way of profiling my code. I have heard that it's possible other player's GC can affect the runtime of our code, is that true?
-
Garbage Collection Profiling
Hi,
I've been working hard to optimize my code, but I'm struggling with the 6 - 36 CPU that is shaved off of my bucket each tick, supposedly by Garbage Collection(GC). Random parts of my code (like if statements) start to consume 20CPU in a tick, or if not it shows up at the beginning of the tick.
I would like to profile my code using something like:
https://github.com/matthieu/node-gc
https://github.com/dainis/node-gcstats
but I'm not certain how I could get these modules to load from within the screeps environment. Could we have a feature that allows us to better understand how GC is affecting our CPU usage?
Much appreciated.