AW: [Oberon] Bluebottle low on heap

Stauber Sven Philipp staubesv at student.ethz.ch
Tue Oct 4 21:33:29 CEST 2005


Hi Dan,
 
I could reproduce the problem you described below. The memory allocated when opening a PET instance is not freed up completely by the garbage collector when closing PET. Other applications seem not to be affected (I didn't test that many, though).
So either the GC has a bug and does not collect all dynamic data structures that were referenced only by PET (or modules imported by PET), or there are memory references still pointing to some of these structures after PET is closed. "S.Free PET" didn't help, but PET imports a lot of other modules.
I've extended the Performance Monitor (WMPerfMon.Mod) to display information about occupied memory more reasonable using the information from both AosHeap.Mod and AosMemory.Mod (crazy fresh 30.09.2005). It perfectly shows the problem - just open and then close several instances of PET, that's enough to produce the problem.
 
Regards,
Sven

________________________________

Von: oberon-bounces at lists.inf.ethz.ch im Auftrag von Dan Parnete
Gesendet: Mo 03.10.2005 16:43
An: ETH Oberon and related systems
Betreff: [Oberon] Bluebottle low on heap



Hello,

I'm coming back on this problem. After 40-50 min of working in PET the
system goes down in free memory and becomes very slow. Here is the heap
track:

 147 AosModules.Module (256B total 37632B)
   47 AosInterrupts.HandlerList (32B total 1504B)
   26 AosActive.Timer (32B total 832B)
    1 AosActive.Clock (64B total 64B)
   82 AosActive.Process (928B total 76096B)
   82 AosHeap.FinalizerNode (32B total 2624B)
    1 AosActive.Idle (64B total 64B)
    1 AosKernel.FinalizerCaller (64B total 64B)
    3 AosIO.Writer (96B total 288B)
   10 AosPlugins.Registry (256B total 2560B)
    2 AosATADisks.Controller (96B total 192B)
    2 AosATADisks.Interrupt (96B total 192B)
    8 AosActive.Interrupter (32B total 256B)
   10 AosActive.InterruptList (32B total 320B)
    2 AosATADisks.Device (352B total 704B)
    2 AosATADisks.PRDT (32B total 64B)
    1 AosFS.FileSearcher (64B total 64B)
  259 AosKernel.FinalizedCollection (64B total 16576B)
18118 AosKernel.FinalizerNode (64B total ~1132KB)
    1 AosClock.Clock (96B total 96B)
  243 WMTextView.PositionMarker (128B total 31104B)
 1913 WMGraphics.Image (64B total ~119KB)
    1 AosDiskVolumes.Volume (128B total 128B)
    1 AosCaches.Cache (96B total 96B)
 1001 AosCaches.Buffer (96B total 96096B)
    1 WMBitmapFont.Font (384B total 384B)
    1 AosDiskFS.FileSystem (128B total 128B)
    2 AosDiskFS.DiskAdrList (64B total 128B)
    1 AosDiskFS.Directory (64B total 64B)
13253 AosTexts.MemUnicodePiece (96B total ~1242KB)
   29 WMDefaultWindows.LeftWindow (256B total 7424B)
12942 AosTexts.Attributes (96B total ~1213KB)
12776 AosTexts.FontInfo (96B total ~1197KB)
141381 WMProperties.StringProperty (96B total ~13254KB)
13003 WMEvents.EventListenerLink (32B total ~406KB)
  113 WMStandardComponents.Resizer (320B total 36160B)
 7075 WMProperties.PropertyList (96B total ~663KB)
21158 WMEvents.EventSource (96B total ~1983KB)
 7389 WMLocks.RWLock (96B total ~692KB)
58959 WMProperties.BooleanProperty (96B total ~5527KB)
14240 WMProperties.RectangleProperty (96B total 1335KB)
39931 WMProperties.ColorProperty (96B total ~3743KB)
21988 WMProperties.Int32Property (96B total ~2061KB)
  243 WMEditors.Editor (352B total 85536B)
   21 AosKernel.Timer (64B total 1344B)
  604 WMStandardComponents.Scrollbar (544B total ~320KB)
 4992 WMStandardComponents.Button (544B total 2652KB)
    6 AosInputs.List (32B total 192B)
   13 AosDiskFS.Buffer (4128B total 53664B)
    2 AosDiskFS.File (672B total 1344B)
    2 AosDiskFS.SuperIndex (4128B total 8256B)
    4 AosUsbHcdi.Pipe (192B total 768B)
    1 AosDisplays.Display (256B total 256B)
    2 AosDiskFS.SubIndex (4128B total 8256B)
    3 AosInputs.Broadcaster (64B total 192B)
    1 AosInputs.Pointer (96B total 96B)
    1 AosKeyboard.Keyboard (64B total 64B)
    1 AosMousePS2.Aux (96B total 96B)
    1 AosUsbHcdi.HcdManager (64B total 64B)
    4 AosUsbUhci.UhciController (16864B total 67456B)
    4 AosUsbUhci.UhciFrameList (8224B total 32896B)
 8147 XMLObjects.ArrayCollection (64B total ~509KB)
    1 AosUsb.DriverManager (128B total 128B)
   15 AosUsb.RegisteredDriver (288B total 4320B)
    4 AosUsb.UsbDevice (128B total 512B)
    4 AosUsb.UsbRootHubDriver (256B total 1024B)
  889 XML.Element (96B total 85344B)
  533 XML.ArrayChars (96B total 51168B)
   20 WMWindowManager.DecorList (32B total 640B)
   64 WMGraphics.BufferCanvas (160B total 10240B)
  176 WMComponents.Properties (96B total 16896B)
 8174 XMLObjects.ArrayDict (64B total ~510KB)
    2 AosTextUtilities.TextWriter (160B total 320B)
   10 XML.Document (96B total 960B)
   10 XML.DocTypeDecl (96B total 960B)
  408 WMStandardComponents.Panel (288B total ~114KB)
  361 XML.Attribute (96B total 34656B)
   68 WMStandardComponents.SystemCommand (160B total 10880B)
   68 WMEvents.EventListenerInfo (96B total 6528B)
   54 XML.Comment (96B total 5184B)
    2 XML.ElementRegistry (64B total 128B)
 7062 WMEvents.EventSourceList (64B total ~441KB)
    1 XML.XMLDecl (96B total 96B)
    2 XML.ElementDecl (96B total 192B)
    3 XML.AttributeDecl (96B total 288B)
 3581 WMGraphics.CanvasState (64B total ~223KB)
    1 WindowManager.MouseObj (96B total 96B)
  250 AosTexts.UnicodeText (128B total 32000B)
    1 WindowManager.KeyboardObj (64B total 64B)
   13 PCT.Basic (32B total 416B)
   10 WMWindowManager.PointerInfo (32B total 320B)
 7062 WMEvents.EventListenerList (64B total ~441KB)
  198 PCT.ModScope (160B total 31680B)
    2 WMRestorable.Loader (64B total 128B)
 1241 PCT.Type (96B total ~116KB)
    4 PCT.Struct (32B total 128B)
   29 WMDefaultWindows.RightWindow (256B total 7424B)
  273 PCT.Module (128B total 34944B)
 1332 PCBT.Size (32B total 42624B)
  209 PCT.Delegate (32B total 6688B)
    1 PCT.Node (32B total 32B)
   49 PCB.SProcInfo (32B total 1568B)
  243 WMEditors.MacroData (32B total 7776B)
 2120 PCT.Value (128B total 265KB)
    1 AosTCP.ISS (64B total 64B)
    1 AosTCP.Timer (96B total 96B)
   29 WMDefaultWindows.BottomWindow (256B total 7424B)
 9941 AosTexts.TextPosition (64B total ~621KB)
 2115 PCT.Const (64B total ~132KB)
    1 AosPlugins.EventHandlerList (32B total 32B)
   50 PCLIR.AsmInline (32B total 1600B)
 2019 PCT.Proc (128B total ~252KB)
  271 WMTextView.Highlight (128B total 34688B)
  681 PCBT.GlobalVariable (96B total 65376B)
 2018 PCBT.Procedure (96B total ~189KB)
  920 PCT.Pointer (32B total 29440B)
   64 WMMessages.MsgSequencer (8384B total 524KB)
   29 WMDefaultWindows.TopWindow (320B total 9280B)
  243 WMTextView.TextView (544B total ~129KB)
  243 WMTextView.Layout (96B total 23328B)
  488 AosTexts.TextReader (128B total 62464B)
   28 WMGrids.GenericGrid (576B total 16128B)
   28 PET.SearchPanel (384B total 10752B)
  153 WMStandardComponents.Label (320B total 48960B)
   11 AosTexts.CharacterStyle (256B total 2816B)
    4 AosTexts.ParagraphStyle (480B total 1920B)
    4 WMClock.ContextMenuPar (64B total 256B)
 6363 PCT.ProcScope (160B total ~994KB)
    3 PCB.Const (96B total 288B)
    1 PCB.Designator (96B total 96B)
    1 PCB.ExprList (96B total 96B)
   50 PCT.Symbol (96B total 4800B)
  243 WMTextView.TabStops (64B total 15552B)
14523 PCT.Parameter (128B total ~1815KB)
    2 LogWindow.Window (256B total 512B)
    1 WMDefaultWindows.BackWindow (160B total 160B)
    1 WMDefaultFont.Font (7520B total 7520B)
    1 WMFontManager.FontManager (352B total 352B)
    8 WMFontManager.LoaderInfo (32B total 256B)
    1 AosOTInt.ZoneDesc (32B total 32B)
    1 AosOType.CacheObjDesc (32B total 32B)
    1 AosOType.GlyphDesc (128B total 128B)
    1 AosOTFonts.CharDesc (32B total 32B)
   15 WMOberonFonts.Font (7776B total ~113KB)
    1 WMCCGFonts.GenericFont (320B total 320B)
    1 WMCCGFonts.Font (352B total 352B)
    1 WindowManager.WindowManager (1408B total 1408B)
    1 WMClock.ClockWindowNode (64B total 64B)
 3499 PCOM.Struct (96B total ~328KB)
    8 WMTextStyleTool.ContextMenuData (64B total 512B)
    1 WMClock.ClockWindow (256B total 256B)
    1 WMWindowManager.WindowStyle (224B total 224B)
    1 WindowManager.Fifi (96B total 96B)
    1 WindowManager.DirtyQ (2112B total 2112B)
    1 WMWindowManager.BufferWindow (192B total 192B)
    1 WindowManager.Toucher (64B total 64B)
    1 WindowManager.ViewPort (352B total 352B)
    1 AosLoopback.LinkDevice (352B total 352B)
    1 AosRTL8139.LinkDevice (352B total 352B)
    1 AosRTL8139.Controller (160B total 160B)
   28 PET.PositionStack (64B total 1792B)
    1 AosIPv6.LocalAdrCache (1088B total 1088B)
    5 AosFATFiles.Buffer (32B total 160B)
    1 AosUDP.SocketPool (576B total 576B)
    1 AosDNS.ServerList (352B total 352B)
    1 AosDNS.Cache (320B total 320B)
    1 AosTCP.Connection (320B total 320B)
    1 AosTCP.ConnectionPool (65600B total 65600B)
   28 PCM.ErrorList (96B total 2688B)
   28 UndoManager.UndoManager (128B total 3584B)
   56 UndoManager.Buffer (64B total 3584B)
10814 WMTrees.TreeNode (96B total ~1013KB)
 9156 ModuleTrees.TextInfo (32B total ~286KB)
    2 AosIPv6.Interface (896B total 1792B)
    2 AosIPv6.Prefixes (64B total 128B)
    2 AosIPv6.Routers (64B total 128B)
    2 AosIPv6.DestCache (1088B total 2176B)
    2 AosIPv6.NeighborCache (1088B total 2176B)
    6 AosNet.TypeList (32B total 192B)
    6 AosNet.ReceiverList (64B total 384B)
    2 AosIPv6.DeviceList (32B total 64B)
    2 AosIPv4.Interface (1664B total 3328B)
 2090 WMCCGFonts.Glyph (32B total 66880B)
   35 WMTabComponents.Tab (32B total 1120B)
   10 AosCommands.Parameters (32B total 320B)
   10 AosCommands.Runner (416B total 4160B)
   13 WMComponents.PropertyListEntry (32B total 416B)
    2 AosNet.Buffer (1664B total 3328B)
    1 AosFATVolumes.FAT32Volume (224B total 224B)
    1 AosFATVolumes.Cache (32B total 32B)
    1 AosFATFiles.FileSystem (128B total 128B)
    1 AosFATFiles.RootDirectory32 (928B total 928B)
    2 WMRestorable.Context (32B total 64B)
   24 WMPopups.Popup (224B total 5376B)
  144 PET.CaptionObject (192B total 27648B)
    1 WMComponents.ComponentStyleChanged (32B total 32B)
    1 WMComponents.PropertyListList (64B total 64B)
   17 XML.ElementEntry (64B total 1088B)
    1 WMMessages.MessageExtension (32B total 32B)
    1 StartMenu.Window (256B total 256B)
    1 WMComponents.VisualComponent (288B total 288B)
    1 StartMenu.PluginFactory (64B total 64B)
   25 WMTabComponents.Tabs (480B total 12000B)
   24 PET.Window (1376B total 33024B)
    1 WMWindowManager.MessagePreviewList (32B total 32B)
    1 StartMenu.BlockStartMenu (320B total 320B)
    1 MainMenu.Window (1056B total 1056B)
   31 WMComponents.Form (320B total 9920B)
    6 WMDiagramComponents.PerfMonModel (96B total 576B)
  268 AosTexts.TextChangeInfo (32B total 8576B)
    1 WMFileManager.Window (256B total 256B)
    1 WMSystemComponents.DirectoryTree (448B total 448B)
   29 WMTrees.Tree (96B total 2784B)
    2 AosFS.Enumerator (96B total 192B)
    2 WMSystemComponents.TreeData (32B total 64B)
    1 WMFileManager.FileListPanel (320B total 320B)
    1 WMSystemComponents.FileList (384B total 384B)
    2 WMStringGrids.StringGrid (640B total 1280B)
    2 WMStringGrids.StringGridModel (96B total 192B)
   29 WMStringGrids.Row (32B total 928B)
   29 WMStringGrids.Cell (32B total 928B)
    1 WMSystemComponents.ListBuffer (4064B total 4064B)
    1 WMSystemComponents.Searcher (6240B total 6240B)
    1 WMSystemComponents.GridDisplayer (4096B total 4096B)
   18 UndoManager.DeleteUpdateInfo (96B total 1728B)
    1 PCM.Errors (96B total 96B)
   44 UndoManager.InsertUpdateInfo (96B total 4224B)
   28 PET.PETPanel (896B total 25088B)
   28 PET.ScratchPanel (320B total 8960B)
   50 PCLIR.AsmBlock (288B total 14400B)
 2391 WMSystemComponents.DirEntry (32B total 76512B)
    1 AosFS.Writer (96B total 96B)
    1 WMLog.Logger (8288B total 8288B)
    1 WMPerfMon.KernelStatistics (128B total 128B)
  888 PCT.Record (64B total 56832B)
 1472 PCT.Array (64B total 94208B)
    6 WMDiagramComponents.PerfViewPanel (352B total 2112B)
    2 WMPerfMon.NetStatistics (288B total 576B)
    1 WMClock.ClockComponent (320B total 320B)
    1 WMTextStyleTool.Window (288B total 288B)
   28 ModuleTrees.ModuleTree (320B total 8960B)
   28 WMTrees.TreeView (416B total 11648B)
    2 AosFATFiles.SearchByName (832B total 1664B)
    6 AosFATFiles.File (928B total 5568B)
 4136 PCT.Method (128B total 517KB)
  888 PCT.RecScope (192B total ~166KB)
 4754 PCT.Field (128B total ~594KB)
 4136 PCBT.Method (96B total ~387KB)
 4784 PCBT.Variable (32B total ~149KB)
    1 AosFS.Rider0 (96B total 96B)
    6 AosFATFiles.Directory (928B total 5568B)
18027 XMLObjects.ArrayEnumerator (64B total ~1126KB)
  888 PCBT.RecSize (32B total 28416B)
  196 PCBT.Module (96B total 18816B)
  196 PCOM.Module (96B total 18816B)
    1 WMOTFonts.Font (896B total 896B)
  680 PCT.GlobalVar (128B total 87040B)
    2 PCLIR.Code (128B total 256B)
    2 PCLIR.Piece (4672B total 9344B)
   29 PCT.LocalVar (128B total 3712B)
    9 PCG386.Address (64B total 576B)
    2 AosFATFiles.SearchByCluster (64B total 128B)
 1670 PCOM.Symbol (32B total 53440B)
    1 WMPerfMon.Window (256B total 256B)
    1 PCDebug.List (32B total 32B)
    1 AosFATFiles.TailGenParam (32B total 32B)
    2 AosFATFiles.NameParam (800B total 1600B)
    1 AosTextUtilities.BluebottleEncoder (768B total 768B)
547260 dynamic records of 268 unique types found
646007 blocks (~161MB), 65648 recblks (~1731KB), 39496 sysblks (~99845KB),
58341 arrblks (~331KB), 481616 protrecblks (~46689KB), 740 typedescs
(~267KB),
166 freeblks (18696B), 0 unknowns (0B), ~16212KB overhead,
612KB low free, 95196KB high free, ~255MB total


After boot the high free indicates 213MB. The files I'm working on
resides on a FAT32 partition.

Cheers,
Dan Parnete
--
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
https://lists.inf.ethz.ch/mailman/listinfo/oberon




More information about the Oberon mailing list