Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005100opensim[REGION] Scripting Enginepublic2010-10-18 23:162010-10-19 13:08
ReporterMoundsa Mayo 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0005100: Exceeding Some Memory Limit Results in Script Malfunctions With No Error Message Over Debug Channel
DescriptionSince we cannot measure dynamic memory usage with the llGetFreeMemory function as implemented in OpenSim, we were tasked to develop a monitor script to Listen to the DEBUG_CHANNEL for memory exceptions and email a list of personnel to report such occurrences.

When testing in OpenSim to elicit the Stack/Heap Collision or other memory exception message to verify exactly what text to monitor for, no exceptions were elicited after over 600,000 strings of 430 characters each were added to a list.

Though no exception was reported in the debug window, the script failed to operate correctly after stuffing memory - the touch_start event failed to trigger after Touching multiple times.

Further tests stuffing 100,000 strings into the list resulted in completion of the loop, but when the object was Touched, a memory exception stack trace message was displayed in the debug window and the script malfunctioned each Touch thereafter. The touch_start event DID trigger, but exceptions were thrown.

Stack trace log and test script attached.
TagsNo tags attached.
Git Revision or version numberUNKNOWN
Run Mode Grid (1 Region per Sim)
Physics EngineODE
Script Engine
EnvironmentMono / Linux32
Mono VersionOther
Viewer
Attached Files? file icon OpenSimMemoryTestScript.lsl [^] (1,970 bytes) 2010-10-18 23:16

- Relationships

-  Notes
(0016995)
samiam (reporter)
2010-10-19 08:56
edited on: 2010-10-19 11:07

Also seen on win .net 32 as well as replicates high CPU usage 50~100% problem.
tnx for the test script.
Tested on .702 Dev Git current.

Sub-Note: When cpu usage gets too high, deleting the object may not work and return again on simulator restart. Suggest setting TestObject as temp. Runs long enough to see the problems and makes shure the object will die.

(0016996)
Moundsa Mayo (reporter)
2010-10-19 10:23

Mono Version 2.6.7
(0016997)
Moundsa Mayo (reporter)
2010-10-19 10:23

32 bit, not 64
(0017001)
samiam (reporter)
2010-10-19 13:08

caught more. This happend when i deleted this test object after it started hitting high cpu usage. On similator re-start the object was back again.
May be conicedental but the memory error was flagged.
---------------------------------------------------------
2010-10-19 12:42:40,060 DEBUG - OpenSim.Region.Framework.Scenes.AsyncSceneObjectGroupDeleter [ASYNC DELETER]: Starting send to inventory loop
2010-10-19 12:42:40,060 DEBUG - OpenSim.Region.Framework.Scenes.AsyncSceneObjectGroupDeleter [ASYNC DELETER]: Sending object to user's inventory, 1 item(s) remaining.
2010-10-19 12:42:40,997 ERROR - OpenSim.Region.Framework.Scenes.AsyncSceneObjectGroupDeleter [ASYNC DELETER]: Exception background sending object: Exception of type 'System.OutOfMemoryException' was thrown. at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity)
   at System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength)
   at System.Text.StringBuilder.Append(String value)
   at System.IO.StringWriter.Write(String value)
   at System.Xml.XmlTextEncoder.Write(String text)
   at System.Xml.XmlTextWriter.WriteString(String text)
   at System.Xml.XmlText.WriteTo(XmlWriter w)
   at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
   at System.Xml.XmlElement.WriteTo(XmlWriter w)
   at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
   at System.Xml.XmlElement.WriteTo(XmlWriter w)
   at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
   at System.Xml.XmlElement.WriteTo(XmlWriter w)
   at System.Xml.XmlElement.WriteContentTo(XmlWriter w)
   at System.Xml.XmlElement.WriteTo(XmlWriter w)
   at System.Xml.XmlDocument.WriteContentTo(XmlWriter xw)
   at System.Xml.XmlNode.get_InnerXml()
   at System.Xml.XmlDocument.get_InnerXml()

- Issue History
Date Modified Username Field Change
2010-10-18 23:16 Moundsa Mayo New Issue
2010-10-18 23:16 Moundsa Mayo File Added: OpenSimMemoryTestScript.lsl
2010-10-18 23:16 Moundsa Mayo Git Revision => UNKNOWN
2010-10-18 23:16 Moundsa Mayo SVN Revision => 0
2010-10-18 23:16 Moundsa Mayo Run Mode => Grid (1 Region per Sim)
2010-10-18 23:16 Moundsa Mayo Physics Engine => ODE
2010-10-18 23:16 Moundsa Mayo Environment => Mono / Linux64
2010-10-18 23:16 Moundsa Mayo Mono Version => 2.6.3
2010-10-19 08:56 samiam Note Added: 0016995
2010-10-19 10:23 Moundsa Mayo Mono Version 2.6.3 => Other
2010-10-19 10:23 Moundsa Mayo Note Added: 0016996
2010-10-19 10:23 Moundsa Mayo Environment Mono / Linux64 => Mono / Linux32
2010-10-19 10:23 Moundsa Mayo Note Added: 0016997
2010-10-19 11:07 samiam Note Edited: 0016995
2010-10-19 13:08 samiam Note Added: 0017001


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker