On Mon, Nov 20, 2000 at 08:28:02PM -0800, Peter Mardahl wrote: > BUG: get_attack_mode(): freed object Indeed, very serious problem. Even though the checks in get_attack_mode() should prevent the attack code from touching this object, there is still the caller of attack_ob()/hit_player() that is using freed objects. A stack trace is needed to identify the caller. I've no idea how to reproduce this problem, I've never seen this message. > victim (arch cwall_2_1_2, name wall) already dead in hit_player() hit_player() was called with an object that doesn't have FLAG_ALIVE, or that has stats.hp < 0. This is only a debugging message I added recently, the check for dead objects was already there. Nevertheless, it would be quite interesting to know what code tries to damage dead objects. Again, stack trace needed. > I'm getting lots of these sorts of messages. > Curreent CVS snapshot. > > Perhaps we should hold off on a release for a little while? I think we should hold off the release until the "freed object" bug is fixed. This kind of bug can have very nasty effects (segmentation fault, creating objects that are in their own inventory (op->inv loop), random other object corruption), but is easy to fix when a stack trace is known (usually only a missing was_destroyed() check in the caller). -- Jan