[CF-Devel] archetype bug - current cvs unplayable

Peter Mardahl peterm at tesla.EECS.Berkeley.EDU
Thu Nov 23 15:03:55 CST 2000


>
     
      The bug usually takes a while to appear, but then it
     
     >
     
      doesn´t go away until server restart.
     
     >
     
      It always appears on usage of spells, usually common
     
     >
     
      ones like snowstorm or fireball. Considered the fact
     
     >
     
      that the bug first appeared in the last few days,
     
     >
     
      it might be related to the latest spell updates, but
     
     >
     
      that´s only a blind guess.
     
     
Hmm.  A line-by-line comparison of the code involving fireballs 
and snowstorm between "before" and "after" my spell updates
seemingly reveals that identical code sequences are executed.

Whatever the problem is, it is pretty  subtle if it is in 
the spell code.

>
     
      If this bug (assuming it´s only one) cannot be fixed real
     
     >
     
      quick, I suppose that we take out the latest features
     
     >
     
      of CVS - until we reach a sane version again.
     
     >
     
      And then we re-insert them step by step after GOOD testing.
     
     
I cannot react to this last comment without anything other than
perplexity.  What is GOOD testing?  Should I test every change 
for 24 hours of playtime for heisenbugs like this before I
commit anything?  If so, then I must decline the burden of any
further crossfire development.  And even if I test everything
I can think to for 24 hours, I might not wander into an appropriate
map to trigger this apparent heisenbug.

Furthermore, the great bulk of the changes I made to the spell stuff
aren't even active:  they're all new stuff that people can't even use
because they're reserved for the Gods balancing to be done.

Here are possibly suspicious changes in the spell code:

1)  addition of "copy_owner" call on line 1101 of spell_util.c.
What this SHOULD do is set the experience object and owner pointers
up correctly.

And addition of "copy_owner" call on line 1353 of attack.c.


2)  Lack of "poison fog" archetype.  This SHOULD only have effect if
someone casts "poison fog":  however, "poison fog" is disabled.
Maybe the failed search for this archetype sets up the heisenbug?
Reviewing THIS code, I doubt it as well.



PeterM



    
    


More information about the crossfire mailing list