Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CF: A bug (no patch)
Happened in /langley/goblin/dungeon2.
Program received signal SIGSEGV, Segmentation fault.
0x80d5bd6 in blocked_link (ob=0x8828a58, x=0, y=-1) at map.c:331
331 if(out_of_map(ob->map,x,y))
(gdb) print ob->name
$2 = 0x820b1ea "exhaustion"
(gdb) print ob->map
$3 = (mapstruct *) 0x0
(gdb) bt
#0 0x80d5bd6 in blocked_link (ob=0x8828a58, x=0, y=-1) at map.c:331
#1 0x807e780 in move_object (op=0x8828a58, dir=1) at monster.c:1181
#2 0x807b40a in move_monster (op=0x8828a58) at monster.c:351
#3 0x80b13df in process_object (op=0x8828a58) at time.c:762
#4 0x807942d in process_events (map=0x0) at main.c:675
#5 0x8079ba4 in main (argc=2, argv=0xbffff710) at main.c:892
#6 0x804a91b in _start ()
(gdb) print op->env->name
$28 = 0x81da812 "goblin"
(gdb)
There's this in process_object():
if(QUERY_FLAG(op, FLAG_MONSTER))
if(move_monster(op) || QUERY_FLAG(op, FLAG_FREED))
return 1;
The move_monster() is executed on an "exhaustion" object. Why does
exhaustion have FLAG_MONSTER set?!?
[to unsubscribe etc., send mail to crossfire-request@ifi.uio.no]