Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: Bug on my compilation of the thing



On Tue, 13 Aug 1996, murray@indigo2.scri.fsu.edu (John R. Murray) wrote:
> What timing! It just happened again. Here's the stack dump out of dbx:
[...]
>    5 _sigtramp(0x3145, 0x6, 0x7fffab10, 0x0) ["sigtramp.s":59, 0xfad5958]
>    6 change_abil(0xfabf1e4, 0x7fffaa60, 0x2, 0x1019fb8c) ["living.c":421, 0x48b328]
>    7 remove_force(0x7fffaa60, 0x7fffaa60, 0x2, 0x1019fb8c) ["time.c":127, 0x474bd8]
>    8 process_object(0x7fffaa60, 0x7fffaa60, 0x2, 0x1019fb8c) ["time.c":668, 0x477188]
[...]
> Comments: at the moment this happened, my char wasn't doing a darned thing,
> just avoiding monsters while running through a new map. Sometimes it seems
> like my char definitely causes the crash, but not this time.

This crash seems to be caused by a temporary improvement which expires (i.e.
you drank a potion of immunity to fire, or you cast a spell of protection
from poison, then the effect expires after some time).  The source of the
bug can come from what you did when you drank the potion or read the scroll,
instead of what you are doing when the game crashes.

> Hmm.. but in the stack trace.. The first parameter of change_abil looks fishy;
> it's out of range. (compare with other pointers).. (I gather from looking
> at the typedef of object in struct.h that op->env (line 127 in server/time.c)
> is supposed to point to another object (or NULL), unless there's some
> deliberate funny business going on somewhere).

Could this be a pointer to an area located on the program's stack?  Could you
compare with other pointers and see if that apparently incorrect pointer is
pointing to the stack or if it is just invalid?

Also, if this bug is caused by a spell, could you say which spell was used and
how (from a scroll, rod, wand, potion, or is it a "known" spell?)

-Raphael