[CF-Devel] Major bug in CF server

Michael Toennies michael.toennies at nord-com.net
Sun Jan 14 11:43:53 CST 2001


Very good Mark!
This sounds like one of the problems we have encountered.
Has you check your fix in?
Then MiDS and i will update our server and let them test by
the people.

Btw, at this time we don't have make any "public calls" for CF
but we always have 2-6 players online on the 3 metaserver servers,
sometimes up to 10. Thats sounds nice, or not?

MichToen


>
     
      Michael Toennies wrote:
     
     >
     
      > The effect gets mad, if you enter the dragon hangar! Do it!
     
     >
     
      > The game start to be frozen!! Tray praying. You will see, that 
     
     >
     
      every second
     
     >
     
      > you stay
     
     >
     
      > in the hangar (and you only enter, do nothing) the server goes 
     
     >
     
      more down in
     
     >
     
      > periodical steps.
     
     >
     
      > If you leave, all is fine!
     
     >
     
      > 
     
     >
     
      > Do it on the 95.7 server - nothing!! The effect is simply not in this
     
     >
     
      > version and not in a version
     
     >
     
      > <95.7 which i can remember.
     
     >
     
     
     >
     
       Actually, the performance seems very inconsistant.
     
     >
     
     
     >
     
       On my home system (dual p3-500, 256 mb ram), I went into the 
     
     >
     
      dragon hangar and
     
     >
     
      wandered into the middle of the melee.
     
     >
     
     
     >
     
       Perfomance/cpu time of the server actually was not that bad 
     
     >
     
      (less than 10% of
     
     >
     
      the cpu time).  Since the client was on the same system, the big 
     
     >
     
      server was
     
     >
     
      actually the x-server (taking around 40% of the cpu time).  I'm 
     
     >
     
      not sure of
     
     >
     
      these percentages are overall cpu time or that by cpu (ie, system 
     
     >
     
      has 200% cpu
     
     >
     
      total).  These numbers are what is reported by top.
     
     >
     
     
     >
     
       But at some point, the server started chewing up much more cpu 
     
     >
     
      time.  And this
     
     >
     
      started appearing in  the output:
     
     >
     
     
     >
     
      BUG: get_attack_mode(): freed object
     
     >
     
     
     >
     
       Tracking this back, the bad object seems to go back to line 428 in
     
     >
     
      server/monster.c (enemy).  Stepping through the debugger, even at 
     
     >
     
      that point,
     
     >
     
      the enemy it is passing has been freed.
     
     >
     
     
     >
     
       Further tracking reveals that find_enemy is returning a freed pointer.
     
     >
     
     
     >
     
       Final tracking realizes that the friendly object list has a free 
     
     >
     
      object on it,
     
     >
     
      and it is using that.
     
     >
     
     
     >
     
       I'll put some check into get_nearest_player to check for freed 
     
     >
     
      objects and do
     
     >
     
      something intelligent when it finds one on the friendly list 
     
     >
     
      (like not use it
     
     >
     
      and update the friendly).
     
     >
     
     
     >
     
       I'm not sure how it got in that state originally, and I'm not 
     
     >
     
      sure if that is a
     
     >
     
      factor at all in poor performance.  But I'll put a fix in for 
     
     >
     
      that, and if it
     
     >
     
      helps at all.  IF nothing else, it fixes a potentially serious bug.
     
     >
     
      _______________________________________________
     
     >
     
      crossfire-devel mailing list
     
     >
     
     
      crossfire-devel at lists.real-time.com
      
      
     >
     
     
      https://mailman.real-time.com/mailman/listinfo/crossfire-devel
      
      
     >
     
     
     
    


More information about the crossfire mailing list