[CF-Devel] Client memory leak

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Thu Jun 19 02:24:31 CDT 2003


Bernhard Kuemel wrote:
>
     
      Hi!
     
     >
     
     
     >
     
      The GTK Unix Client 1.5.0 (and probably others) have a memory leak. This 
     
     >
     
      is how you can hopefully and simply reproduce it:
     
     >
     
     
     >
     
       35 key Left R drop 1 large gold nugget;invoke alchemy;get nugget
     
     >
     
       36 key Left A drop 10 small gold;invoke alchemy;get nugget
     
     >
     
       38 key Down A get 1 gold nugget;use_skill alchemy
     
     >
     
     
     >
     
      Create some gold nuggets by casting alchemy to 2000 platinum coins. Pick 
     
     >
     
      them up and turn them to small nuggets by repeating key binding nr. 35. 
     
     >
     
      Put the unidentified small nuggets in a sack, bag, etc. With the open 
     
     >
     
      bag call #38 repeatedly. This takes 1 unidentified nugget which stays 
     
     >
     
      apart from the identified ones and keep staying apart even after 
     
     >
     
      idendifying. The many nuggets in the inventory eat up memory. If you 
     
     >
     
      'drop all' the single nuggets get merged but memory won't be freed.
     
     
  The objects not merging is a server bug, but probably not a very big one.  The 
many objects in the inventory do chew up memory, but so does having a large 
number of any objects, even if those objects are not mergable.

  The drop all should be investigated, but would also need further investigation 
if the server isn't telling the client something, or if the client just isn't 
doing something appropriate.

>
     
     
     >
     
      For completeness ... With the bag closed #36 recycles the nuggets so 
     
     >
     
      they can be identified again in order to gain mental level.
     
     
  Arguably, nuggets should perhaps be identified.  OTOH, if the player wants to 
waste money (alchemy gets you less than you had before), this probably isn't 
really abusive.  Player could just as well go and buy a bunch of scrolls, which 
I think also would get the player mental (literacy) experience.  So I'm not that 
concerned about that.

>
     
     
     >
     
      Below is a perl script that warns you when memory gets low.
     
     
  The usefulness of that script probably depends a lot on your OS.  Linux is 
very agressive about keeping memory for buffers and what not, so there is never 
a large amount in the free pool.  For systems more conservative about using 
memory for buffers, that may be more useful.


_______________________________________________
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