ID:1561492
 
Resolved
Movable atoms with step offsets or bounds causing them to overlap other tiles could cause crashes after being moved into another movable atom.
BYOND Version:506.1244
Operating System:Windows XP Pro
Web Browser:N/A
Applies to:Dream Daemon
Status: Resolved (506.1245)

This issue has been resolved.
Dream Daemon/Seeker crash often with just about every game lately.


I think it has something to do with objects being deleted. In FFTHG, it was directly correlated to deleting projectiles(objects with transforms) but it had a pseudo random chance of doing this. Perhaps deleting two objects at the same time, or deleting objects with transforms causes it?

It makes both development and game-playing impossible
Yut Put, please provide more context as to the version you are running and whether you are using threads. If the 506.1244 (non-vc2013, no threads) is crashing, we need to know because that should be a stable build.
Ok, please construct a demo (ideally one that can just run in the background) that causes the crash. It is probably due to the improved dereferencing optimizations.
Because this was a bug with the stable build, I've moved this to Bug Reports. I also separated it out from Superbike's report because it's apparently a different issue.

After painstaking debugging of your test case, I believe I've found the cause. The bug does not appear to be new, although it may be exacerbated by new features. (Interestingly, a crash on memory allocation that I recently discovered, that will not apply to the VS2013 build, appears to come up frequently in your project too in spite of changes I made to make that less frequent.) The problem I found relates to pixel movement, in which you had an obj with overhangs that moved from a mob to a turf. When it was added to the mob, it was counted among the turf overhangs even though this was totally inappropriate behavior--an atom should never be considered overhanging a turf unless it's actually on a turf.

My fix for this looks good, but I'm going to take this a step further because the overhangs are doing a lot of alloc/free that would be better handled with the sorts of operations I did to improve performance in the last two builds.
Lummox JR resolved issue with message:
Movable atoms with step offsets or bounds causing them to overlap other tiles could cause crashes after being moved into another movable atom.