ID 555499 - Deletion of Render Catalog Items does not free image memory

Follow

Problem summary

Render output image data is not freed on deleting the associated Catalog Item, neither immediately, nor on the periodic 'interprocess garbage collection'; Frame Buffers are leaked by `Nodes2DAPI.GetNewFrameBuffers()`.

 

Customer reported version
Katana 5.0v4
 
Customer reported platform
Rhel7 
 
Steps to reproduce
1. Set the KATANA_INTERPROCESS_GC_TIMEOUT_SECONDS environment variable to some small value, e.g. 30 (seconds).
2. Launch Katana and load the Secondary Images (AOVs) example project.
3. Start and cancel multiple Preview Renders mid-render.
4. Observe the amount of memory consumed by Katana's 2D render system ('Render' > '2D Rendering' > 'Print Memory Usage', or Nodes2DAPI.GetImageMemoryUsage()), or alternatively, by the Katana process as a whole.
5. Delete all Catalog Items.
6. Wait for the period specified by KATANA_INTERPROCESS_GC_TIMEOUT_SECONDS.
7. Observe memory usage again, it should have reduced (not necessarily to zero, owing to a distinct defect that means the latest buffer may be kept alive). (If observing memory usage of the Katana process, memory may not decrease, but further Preview Renders should re-use memory, rather than consume more.)
 
Expected behaviour
Memory usage is reduced (not necessarily to zero, owing to a distinct defect that means the latest buffer may be kept alive). (If observing memory usage of the Katana process, memory may not decrease, but further Preview Renders should re-use memory, rather than consume more.)
 
Actual behaviour
Memory usage is not reduced.
 
Workaround
Unknown.
 
Reproduced by support
This bug has been reproduced in:
Katana 6.0v3 - Windows 10, CentOs 7
Katana 5.0v4 - Windows 10, CentOs 7
Katana 5.0v1 - Windows 10, CentOs 7
Katana 4.5v1 - Windows 10, CentOs 7
 
Unable to reproduce bug in:
Katana 4.0v8 - Windows 10, CentOs 7
 
Earliest version tested
Katana 4.0v8 - This issue doesn't appear in this version and has regressed

    We're sorry to hear that

    Please tell us why