Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Sun Jan 31, 2010 11:29 pm   

[3.13] Memory leak? 150MB of RAM
 
Since updating to 3.13, I've seen my RAM go from 65-80MB to 150MB of RAM being used. Not sure what's causing this, but I wonder if others have noticed the same thing...

Charneus
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Sun Jan 31, 2010 11:54 pm   
 
Is this pre-converted map or post? And how massive are your scripts? I'm still at 85k and 2k for the security module, myself.
_________________
EDIT: I didn't like my old signature
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Mon Feb 01, 2010 12:12 am   
 
Pre-converted map. Scripts haven't changed any since 3.12, but I do have 1600 triggers (half of the classes are disabled at any given point of time) as well as 550 aliases and 860 variables It's never gone above 85 for me, though, in any version.

Charneus
Reply with quote
hadar
Apprentice


Joined: 30 Aug 2009
Posts: 198
Location: my apt, in california

PostPosted: Mon Feb 01, 2010 11:54 am   
 
for me it eats up my cpu at points, i dont look how much ram its using though, its to the point where if i leave cmud on for 5 hours take a nap come back and its frozen
_________________
if you build it they will come, assuming that they have not already come to build it
Aardwolf Bootcamp
My youtube channel
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon Feb 01, 2010 6:20 pm   
 
Hadar: Please only respond to a post if you are experiencing the same issue. You already reported your freezing issue in another post and without ram usage information it doesn't have anything to do with this post.

As far as the memory issue, does the memory keep going up? It's only a memory leak if memory keeps going up and up until it uses all of your system resources.

Otherwise you will need to do more work to track this down as I'm not seeing any RAM problems in my sessions. For example, try your session without a map. Or try exporting/importing your session XML to a new session, etc.
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Mon Feb 01, 2010 7:07 pm   
 
It steadily increases. It'll start out at about 70MB or so, and after about an hour or two, it's up to 150MB. I'll try without a Map first, then try a new session, though I'm not sure what would be causing it. :\

Charneus
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Tue Feb 02, 2010 9:44 pm   
 
Could this be the cause of the memory leak? I keep getting this error when opening CMUD, and nothing seems to fix it...

Code:
date/time         : 2010-02-02, 15:34:20, 375ms
computer name     : CHARNEUS-LAPTOP
user name         : Charneus <admin>
registered owner  : Charneus
operating system  : Windows 7 build 7600
system language   : English
system up time    : 5 hours 24 minutes
program up time   : 8 seconds
processors        : 2x AMD Turion(tm) 64 X2 Mobile Technology TL-60
physical memory   : 888/1918 MB (free/total)
free disk space   : (C:) 66.68 GB
display mode      : 1280x800, 32 bit
process id        : $7c8
allocated memory  : 75.89 MB
command line      : "C:\Program Files\CMUD\cMUD.exe" Aardwolf
executable        : cMUD.exe
exec. date/time   : 2010-01-29 22:31
version           : 3.13.0.0
compiled with     : BCB 2006/07
madExcept version : 3.0k
contact name      :
contact email     :
callstack crc     : $7730bf27, $d921c279, $d921c279
exception number  : 1
exception class   : EListError
exception message : List index out of bounds (-1).

Main ($c98):
0046f5b9 +019 cMUD.exe     Classes                  TList.Get
006bc30b +00b cMUD.exe     dxBar          27653  +1 TdxBarItemLinks.GetVisibleItem
006e5fab +077 cMUD.exe     dxBar          51688 +11 TdxBarControl.CalcRowItemRects
006c6d16 +042 cMUD.exe     dxBar          33319  +6 TCustomdxBarControl.CalcItemRects
006e57e4 +01c cMUD.exe     dxBar          51495  +2 TdxBarControl.CalcControlsPositions
006ea45d +011 cMUD.exe     dxBar          53814  +1 TdxBarControlViewInfo.Calculate
006c6d44 +008 cMUD.exe     dxBar          33328  +0 TCustomdxBarControl.CalcLayout
006e845a +02a cMUD.exe     dxBar          52889  +4 TdxBarControl.GetSizeForWidth
006bfd47 +023 cMUD.exe     dxBar          29553  +1 TdxBar.BarNCSizeX
006c26bf +043 cMUD.exe     dxBar          30985  +4 NCSizeX
006c27a4 +090 cMUD.exe     dxBar          31004  +7 GetFullSize
006c2c6e +1f6 cMUD.exe     dxBar          31125 +48 CalcNewBoundsForNonLocatedBars
006c2fb3 +0c3 cMUD.exe     dxBar          31216 +18 TdxDockControl.CalcRowToolbarPositions
006c2580 +054 cMUD.exe     dxBar          30945  +7 TdxDockControl.CalcLayout
006c396f +09b cMUD.exe     dxBar          31559  +9 TdxDockControl.PaintBarControls
006c3bca +02a cMUD.exe     dxBar          31628  +3 TdxDockControl.UpdateDock
006a8ce2 +1d6 cMUD.exe     dxBar          16876 +40 TdxBarManager.DoLockUpdate
006a8e2e +032 cMUD.exe     dxBar          16915  +3 TdxBarManager.DoEndUpdate
006a4d22 +002 cMUD.exe     dxBar          14721  +0 TdxBarManager.EndUpdate
006a5775 +01d cMUD.exe     dxBar          15240  +6 TdxBarManager.SetLockUpdate
00cf148a +08a cMUD.exe     ToolbarDiff      393 +12 LoadToolbarDiff
00d86d1f +063 cMUD.exe     MapNew3         3384  +4 TNewMapF.LoadLayout
00d7fb35 +011 cMUD.exe     MapNew3         1108  +4 TNewMapF.FormShow
004a1a25 +015 cMUD.exe     Forms                    TCustomForm.DoShow
00520c1c +01c cMUD.exe     CustomForm        76  +7 TzCustomForm.DoShow
00a90fda +046 cMUD.exe     MultiForm        264  +2 TMultForm.DoShow
004a5d5d +0a9 cMUD.exe     Forms                    TCustomForm.CMShowingChanged
004bbe2b +2bb cMUD.exe     Controls                 TControl.WndProc
004bfe2f +4fb cMUD.exe     Controls                 TWinControl.WndProc
004a238f +553 cMUD.exe     Forms                    TCustomForm.WndProc
004bbab8 +024 cMUD.exe     Controls                 TControl.Perform
004bf2f6 +112 cMUD.exe     Controls                 TWinControl.UpdateShowing
004bf439 +0e5 cMUD.exe     Controls                 TWinControl.UpdateControlState
004c1d6e +026 cMUD.exe     Controls                 TWinControl.CMVisibleChanged
004bbe2b +2bb cMUD.exe     Controls                 TControl.WndProc
0040518e +002 cMUD.exe     System            67  +0 @ClassDestroy
0046f3f0 +018 cMUD.exe     Classes                  TList.Destroy
00404dcc +008 cMUD.exe     System            67  +0 TObject.Free
0045ac2c +008 cMUD.exe     SysUtils                 FreeAndNil
00670bb8 +2b0 cMUD.exe     VCLFixPack               TControlResizeFixWinControl.HandleAlignControls
00670bce +2c6 cMUD.exe     VCLFixPack               TControlResizeFixWinControl.HandleAlignControls
00670d21 +075 cMUD.exe     VCLFixPack               TControlResizeFixWinControl.AlignControl
004bbab8 +024 cMUD.exe     Controls                 TControl.Perform
004ba652 +026 cMUD.exe     Controls                 TControl.SetVisible
004bad3b +027 cMUD.exe     Controls                 TControl.Show
00745727 +133 cMUD.exe     zsPanel          366 +29 TzsPanel.DoSetForm
00745834 +018 cMUD.exe     zsPanel          405  +4 TzsPanel.DoSetFormLoaded
0074589e +056 cMUD.exe     zsPanel          417  +6 TzsPanel.SetFormName
00cda297 +01f cMUD.exe     PARENT          2238  +3 TParentForm.LoadDockWindow
00cee211 +151 cMUD.exe     PARENT         10993 +17 TParentForm.DockManagerBeforeLoadControl
0073ec6c +048 cMUD.exe     aqDockingBase   8031  +3 TaqCustomDockingManager.DoBeforeLoadControl
0073dec8 +0c8 cMUD.exe     aqDockingBase   7483 +20 TaqCustomDockingManager.LoadControl
0073df3f +13f cMUD.exe     aqDockingBase   7499 +36 TaqCustomDockingManager.LoadControl
0073c330 +044 cMUD.exe     aqDockingBase   6577  +7 TaqCustomDockingSite.LoadFromStream
0072c29b +00b cMUD.exe     aqDocking       5943  +1 TaqDockingSite.LoadFromStream
0073d82d +0f9 cMUD.exe     aqDockingBase   7282 +27 TaqCustomDockingManager.LoadLayout
0072ab28 +178 cMUD.exe     aqDocking       5139 +33 TaqDockingManager.LoadLayout
0073d6b9 +02d cMUD.exe     aqDockingBase   7229  +3 TaqCustomDockingManager.LoadFromXML
00ce9f90 +18c cMUD.exe     PARENT          9334 +32 TParentForm.DoLoadLayout
00cdf392 +432 cMUD.exe     PARENT          4326 +56 TParentForm.NewMUD
00cdbe7c +120 cMUD.exe     PARENT          3153 +26 TParentForm.CommandLine
00cdc810 +150 cMUD.exe     PARENT          3329 +34 TParentForm.HandleStartup
00ce8a7b +0cf cMUD.exe     PARENT          8877 +63 TParentForm.FormShow
004a1a25 +015 cMUD.exe     Forms                    TCustomForm.DoShow
00520c1c +01c cMUD.exe     CustomForm        76  +7 TzCustomForm.DoShow
00a90fda +046 cMUD.exe     MultiForm        264  +2 TMultForm.DoShow
004a5d5d +0a9 cMUD.exe     Forms                    TCustomForm.CMShowingChanged
004bbe2b +2bb cMUD.exe     Controls                 TControl.WndProc
004bfe2f +4fb cMUD.exe     Controls                 TWinControl.WndProc
004a238f +553 cMUD.exe     Forms                    TCustomForm.WndProc
00c86f58 +020 cMUD.exe     DXSounds        2128  +9 TCustomDXSound.FormWndProc
00c846fc +00c cMUD.exe     DXClass          635  +1 TControlSubClass.WndProc
004bbab8 +024 cMUD.exe     Controls                 TControl.Perform
004bf2f6 +112 cMUD.exe     Controls                 TWinControl.UpdateShowing
004bf439 +0e5 cMUD.exe     Controls                 TWinControl.UpdateControlState
004c1d6e +026 cMUD.exe     Controls                 TWinControl.CMVisibleChanged
004bbe2b +2bb cMUD.exe     Controls                 TControl.WndProc
00466a66 +01a cMUD.exe     ComObj                   TComObject._Release
0040518e +002 cMUD.exe     System            67  +0 @ClassDestroy
006f7a0f +027 cMUD.exe     aqDockingUtils  1495  +3 TaqBucketListIterator.Destroy
00404dcc +008 cMUD.exe     System            67  +0 TObject.Free
0073e209 +0b5 cMUD.exe     aqDockingBase   7590 +22 TaqCustomDockingManager.UpdateDocking
0073d968 +234 cMUD.exe     aqDockingBase   7321 +66 TaqCustomDockingManager.LoadLayout
00c86f58 +020 cMUD.exe     DXSounds        2128  +9 TCustomDXSound.FormWndProc
00c846fc +00c cMUD.exe     DXClass          635  +1 TControlSubClass.WndProc
004bbab8 +024 cMUD.exe     Controls                 TControl.Perform
004ba652 +026 cMUD.exe     Controls                 TControl.SetVisible
004a1cc6 +03a cMUD.exe     Forms                    TCustomForm.SetVisible
004a1019 +071 cMUD.exe     Forms                    TCustomForm.DoCreate
004a0bb8 +124 cMUD.exe     Forms                    TCustomForm.Create
00520bb9 +01d cMUD.exe     CustomForm        60  +2 TzCustomForm.Create
0074b239 +029 cMUD.exe     International     41  +3 TInterForm.Create
0074bced +039 cMUD.exe     zsForm            88  +6 TzForm.Create
00a90d28 +0d0 cMUD.exe     MultiForm        168 +12 TMultForm.Create
00ce8099 +0bd cMUD.exe     PARENT          8605 +14 TParentForm.Create
004aa6b6 +06e cMUD.exe     Forms                    TApplication.CreateForm
00e851e0 +07c cMUD.exe     CMUD             350 +18 initialization
75cc1172 +010 kernel32.dll                          BaseThreadInitThunk


Charneus
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Feb 02, 2010 11:31 pm   
 
That's an error in your layout file. Try holding down the SHIFT key and connect to your session to make a new layout file. From the crash dump, it looks like a command line that has gotten detached from it's proper window, or is on a hidden window of some kind.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Feb 02, 2010 11:32 pm   
 
In fact, I'm kind of interested more in this. Would it be possible to send me the *.PKG, *.XLY and *.TBZ files for this session before you fix them? I am experimenting with the idea of trapping/ignoring all crashes from the window and toolbar layout components to see what happens.
Reply with quote
wrym
Magician


Joined: 06 Jul 2007
Posts: 349
Location: The big palace, My own lil world

PostPosted: Wed Feb 03, 2010 12:04 am   
 
hmmm, if your going to be playing with the layout stuffs, maybe you could add a backup/restore feature, 2 additional times in the layout menu, that way players could backup a layout immediately after getting it set up nice then if something happens to layout they can just restore a nice new layout. when you get 10+ windows funny things start happening to those files and it can be annoying to re set up all of your windows.
_________________
"To the engineer, all matter in the universe can be placed into one of two categories: (1) things that need to be fixed, and (2) things that will need to be fixed after you've had a few minutes to play with them" - Scott Adams, The Dilbert Principle
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Wed Feb 03, 2010 12:22 am   
 
Crap. I had already fixed it long before you even posted the solution, since I figured it was a layout issue after looking over the stack. Funny thing is, it happened once after I did the shift-open. Then I used the map converter to convert the map back to zmud, then convert it back to CMUD, and it started working again... If it happens again, I'll definitely send the information to you. Sorry! :\

Charneus
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Feb 03, 2010 12:25 am   
 
Yeah, but if you get too many backup files, then it gets pretty worthless too. What I usually recommend is to save your layout and then leave the "Auto Save Layout" option turned off and only manually save your layout when you need to.

In general, I am as unhappy as anybody by the lack of reliability in the window and toolbar layout features. Unfortunately, it's the Developer Expression and AutomatedQA components that are in charge of that (which is why each layout has a separate file and separate formats). None of these components were really designed for user-level layout save/restore like CMUD has. It's just so easy to get unattached toolbars, or hidden/ghost windows that don't go away and just keep getting saved in the layout leading to later corruption.

But I don't even have a good understanding myself as to what generally causes layout file corruptions. The errors in crash dumps are usually buried really deep in the 3rd party code. Look in the crash dump above and look at how many levels into the "dxBar" module the crash occurred. That's the Developer Express ExpressBars component for menus/toolbars. It's nearly impossible for me to debug 3rd party code that many levels deep. ExpressBars has a really unusual architecture that I mostly hate, but it's the only menu/toolbar system with runtime end-user customization, so we are stuck with it.

That's why I'm giving serious consideration to trying and trap and ignore errors when loading a layout. I don't know if that will cause the entire layout to abort, or if I can make it just abort loading whatever specific piece is corrupted, leaving it in it's default layout location. I need to experiment with some corrupted layout files to see if ignoring the errors helps or hurts. All I can say is that more than 50% of the crash dumps that I get are related to the layout system, so it's a pretty annoying issue for everybody.
Reply with quote
Arminas
Wizard


Joined: 11 Jul 2002
Posts: 1265
Location: USA

PostPosted: Wed Feb 03, 2010 3:40 am   
 
OK, so what about asking if we want to back up a working layout. Then when you trap one of these exceptions restoring that backup?

Then if it fails with that layout apologize and tell us that you are loading a new blank one?
_________________
Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Feb 03, 2010 5:24 pm   
 
I don't typically like popup prompts like that, especially in the middle of loading a character session. However, the idea of keeping a backup of the "last working layout" and restoring that if the load layout fails rather than just loading a default layout is a good one. I'll continue to think about how best to improve this.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Feb 04, 2010 12:40 am   
 
I think the ANSI coloring bug might have been causing this increased memory usage. Hopefully fixed for the next version.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net