![](templates/Classic/images/spacer.gif) |
charneus Wizard
![](images/avatars/51564989746d852114da6d.jpg)
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
charneus Wizard
![](images/avatars/51564989746d852114da6d.jpg)
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
hadar Apprentice
Joined: 30 Aug 2009 Posts: 198 Location: my apt, in california
|
Posted: 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
|
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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. |
|
|
![](templates/Classic/images/spacer.gif) |
charneus Wizard
![](images/avatars/51564989746d852114da6d.jpg)
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
charneus Wizard
![](images/avatars/51564989746d852114da6d.jpg)
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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.
|
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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.
|
|
|
![](templates/Classic/images/spacer.gif) |
wrym Magician
Joined: 06 Jul 2007 Posts: 349 Location: The big palace, My own lil world
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
charneus Wizard
![](images/avatars/51564989746d852114da6d.jpg)
Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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. |
|
|
![](templates/Classic/images/spacer.gif) |
Arminas Wizard
Joined: 11 Jul 2002 Posts: 1265 Location: USA
|
Posted: 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 |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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.
|
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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.
|
|
|
![](templates/Classic/images/spacer.gif) |
|
|