• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-12341
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Belial Foulsbane
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Second Life Client, Memory Bloat.

Created: 11/Mar/09 12:44 AM   Updated: 11/Mar/09 02:12 AM
Return to search
Component/s: Crashes
Affects Version/s: 1.21
Fix Version/s: None

Environment:
Second Life 1.21.6 (99587) Oct 14 2008 17:42:25 (Second Life Release)
Release Notes

You are at 299429.7, 277555.1, 401.6 in Liwei located at sim7426.agni.lindenlab.com (8.10.146.173:12035)
Second Life Server 1.25.6.113484
Release Notes

CPU: Intel Core 2 Series Processor (2393 MHz)
Memory: 6142 MB
OS Version: Microsoft Windows Vista Service Pack 1 (Build 6001)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce 8600 GT/PCI/SSE2
OpenGL Version: 3.0.0

libcurl Version: libcurl/7.16.4 OpenSSL/0.9.7c zlib/1.2.3
J2C Decoder Version: KDU
LLMozLib Version: [LLMediaImplLLMozLib] - 2.01.22353 (Mozilla GRE version 1.8.1.13_0000000000)
Packets Lost: 128/525543 (0.0%)
Issue Links:
Relates
 


 Description  « Hide
There is a known, severe memory issue with the Second Life Client. However, I don't believe it's a memory *leak, I believe it's memory bloat. I'm only posting this issue at the request of DigitalBlack Jackhawk, and in the hopes that this might help fix the issue, as I don't believe it's been fixed because it hasn't been accurately identified.

Quickly Described:
All primitives have dynamic face assignations. When the primitive changes, the faces change. When a face changes, it has to be reassigned, dynamically, in memory. The problem with this approach is that the memory allocated for the primitive actually has to change to match the new information. If this isn't handled correctly, IMO, you will get exactly what looks like a memory leak.

Explanation:
If you create a box in world, then check it's face assignments, then add a cut the faces change. Add hollow, and they change again. Each time this happens, memory has to be reallocated for this new information. If the SmartHeap Library cannot handle the dynamic reassignments, for whatever reason...crash.

While I understand that it was initially designed this way, most likely, to save rendering(IE, a face that doesn't exist doesn't hit the asset server asking for textures and other information), I think it's a backwards approach. Assigning a null value to a static array for that face would accomplish the same task, while allocating memory for use when and if that face is rendered.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.