View Issue Details

IDProjectCategoryView StatusLast Update
0029663RunnerSurfacesPublic2019-01-04 17:25
ReporterMark AlexanderAssigned ToAlan Savage 
PriorityHighSeverityB - MajorReproducibility100%
Status ClosedResolutionFixed 
Product Version2.2.0 
Target Version2.2.1Fixed in Version2.2.1 
Summary0029663: Surfaces: Creating and destroying surfaces appears to have a memory leak
DescriptionIf you run the attached test program using the debugger and let it run, you can see that the memory use just keeps going up and up and up... suggesting a memory leak when using surfaces.
Steps To ReproduceImport attached project.
Run in debug mode.
Leave it running for a few minutes.
Observe that the debug graph shows a constant uptick in memory use over time.
TagsNo tags attached.
1.4 Found In
2.x Runtime Found In2.2.0.229
2.x Runtime Verified In2.2.1.268


Mark Alexander

2018-06-14 07:30


Surface Test.yyz (20,001 bytes)

Alan Savage

2018-06-15 10:24

Developer   ~0060372

-leak appears to be internal to D3D - runner memory/bucket allocations are freed correctly, and vs graphics debugger confirms that d3d objects are also released. The issue only presents on repeatedly creating and destroying surface of a unique size every time; memory is stable when creating and freeing surfaces of the same size or from a limited set of sizes. The example is contrived and allocation pattern is highly unlikely to occur in practice (and there seems to be nothing we can do about it any case).
Above commit sha refers to a fix for a minor memory leak from debug tags allocated when debugging and certain functions are called