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

Re: Two frequent crossfire-crashers....




I've given you more information below.
You can exercise the bug by taking a high-level char
to the new castle on the peninsula on the south-easternmost corner
of the scorn continent.


> > #2:  Frequently, crossfire will crash here:
> > common/anim.c line 150:
> > 
> >   /* If object is turning, then max animation state is half through the
> >      * animations.  Otherwise, we can use all the animations.
> >      */
> >     max_state=NUM_ANIMATIONS(op)/ NUM_FACINGS(op);
> >     base_state=0;
> > 
> > NUM_FACINGS(op) will be zero, and there will be an FPE.
> 
> No idea what's causing this.  I've never had crashes here.  I'm
> wondering what op's name, type and archetype's name are.

gdb) where
#0  0x80a4383 in animate_object (op=0x88e8ee8) at anim.c:150
#1  0x80a45c6 in animate_object (op=0x88e8db0) at anim.c:191
#2  0x80a45c6 in animate_object (op=0x88e8c78) at anim.c:191
#3  0x80a3588 in process_object (op=0x88e8c78) at time.c:840
#4  0x806dccf in process_events (map=0x0) at main.c:714
#5  0x806e2a6 in main (argc=1, argv=0xbffffa44) at main.c:895
#6  0x4008ecb3 in __libc_start_main (main=0x806e268 <main>, argc=1, 
    argv=0xbffffa44, init=0x8049538 <_init>, fini=0x80ebdbc <_fini>, 
    rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffa3c)
    at ../sysdeps/generic/libc-start.c:78

(gdb) p *op
$1 = {contr = 0x0, next = 0x896f1f8, prev = 0x89660e8, active_next = 0x0, 
  active_prev = 0x0, below = 0x88c6c60, above = 0x89660e8, inv = 0x0, 
  container = 0x0, env = 0x0, more = 0x0, head = 0x0, map = 0x89376c0, 
  count = 25250, refcount = 0, sk_list = 0x0, name = 0x81d19fa "blackmarble", 
  title = 0x0, race = 0x0, slaying = 0x0, msg = 0x0, x = 14, y = 15, ox = 14, 
  oy = 15, speed = 0, speed_left = -0.100000001, nrof = 0, face = 0x818af64, 
  direction = 0 '\000', facing = 0 '\000', type = 0 '\000', immune = 0, 
  protected = 0, attacktype = 0, vulnerable = 0, path_attuned = 0, 
  path_repelled = 0, path_denied = 0, material = 0, magic = 0 '\000', 
  thrownthaco = 0 '\000', state = 1 '\001', value = 0, level = 0, 
  last_heal = 0, last_sp = 0, last_grace = 0, last_eat = 0, invisible = 0, 
  armour = 0 '\000', pick_up = 0 '\000', owner = 0x0, enemy = 0x0, 
  arch = 0x81d18a0, other_arch = 0x0, weight = 0, carrying = 0, flags = {256, 
    2147483648, 0, 0}, ownercount = 0, randomitems = 0x0, run_away = 0, 
  chosen_skill = 0x0, exp_obj = 0x0, hide = 0, lights = 0x0, glow_radius = 0, 
  move_status = 0, move_type = 0, weight_limit = 0, can_apply = 0 '\000', 
  will_apply = 0 '\000', animation_id = 0, anim_speed = 0 '\000', 
  last_anim = 0 '\000', stats = {Str = 0 '\000', Dex = 0 '\000', 
    Con = 0 '\000', Wis = 0 '\000', Cha = 0 '\000', Int = 0 '\000', 
    Pow = 0 '\000', wc = 0 '\000', ac = 0 '\000', hp = 0, maxhp = 0, sp = 0, 
    maxsp = 0, grace = 0, maxgrace = 0, exp = 0, food = 0, dam = 0, 
    luck = 0 '\000'}, spellitem = 0x0, expmul = 1}
(gdb)  p op->type
$2 = 0 '\000'
(gdb) p *op->arch
$4 = {name = 0x81d19fa "blackmarble", next = 0x81d1a10, head = 0x0, 
  more = 0x0, clone = {contr = 0x0, next = 0x0, prev = 0x0, active_next = 0x0, 
    active_prev = 0x0, below = 0x0, above = 0x0, inv = 0x0, container = 0x0, 
    env = 0x0, more = 0x0, head = 0x0, map = 0x0, count = 0, refcount = 0, 
    sk_list = 0x0, name = 0x81d19fa "blackmarble", title = 0x0, race = 0x0, 
    slaying = 0x0, msg = 0x0, x = 0, y = 0, ox = 0, oy = 0, speed = 0, 
    speed_left = -0.100000001, nrof = 0, face = 0x818af64, 
    direction = 0 '\000', facing = 0 '\000', type = 0 '\000', immune = 0, 
    protected = 0, attacktype = 0, vulnerable = 0, path_attuned = 0, 
    path_repelled = 0, path_denied = 0, material = 0, magic = 0 '\000', 
    thrownthaco = 0 '\000', state = 0 '\000', value = 0, level = 0, 
    last_heal = 0, last_sp = 0, last_grace = 0, last_eat = 0, invisible = 0, 
    armour = 0 '\000', pick_up = 0 '\000', owner = 0x0, enemy = 0x0, 
    arch = 0x81d18a0, other_arch = 0x0, weight = 0, carrying = 0, flags = {
      260, 2147483648, 0, 0}, ownercount = 0, randomitems = 0x0, run_away = 0, 
    chosen_skill = 0x0, exp_obj = 0x0, hide = 0, lights = 0x0, 
    glow_radius = 0, move_status = 0, move_type = 0, weight_limit = 0, 
    can_apply = 0 '\000', will_apply = 0 '\000', animation_id = 0, 
    anim_speed = 0 '\000', last_anim = 0 '\000', stats = {Str = 0 '\000', 
      Dex = 0 '\000', Con = 0 '\000', Wis = 0 '\000', Cha = 0 '\000', 
      Int = 0 '\000', Pow = 0 '\000', wc = 0 '\000', ac = 0 '\000', hp = 0, 
      maxhp = 0, sp = 0, maxsp = 0, grace = 0, maxgrace = 0, exp = 0, 
      food = 0, dam = 0, luck = 0 '\000'}, spellitem = 0x0, expmul = 1}, 
  editable = 8}
(gdb)